Det er bare simpel txt, men da det er indholdet af en JTextPane, taster man jo ikke på noget tidspunkt \n. Jeg bruger myTextPane.getText() og hvis jeg skriver det ud med System.out.println på DOS-skærmen virker det, men ikke på filen.
Nej, det kan du ikke med mindre du serialiserer hele komponenten. getText() returnerer blot den tekst der står, den gemmer ingen information om formatteringen (farve, kursivering etc). Som alle swing komponenter kan du gemme den som xml, men desværre er der heller ikke her information ang formatteringen.
Du serialiserer ved: JTextPane component = ...; Serializable o = component; File file = new File( "myComponent.ser" ); ObjectOutputStream out = new ObjectOutputStream( new FileOutputStream( file ) ); out.writeObject( o ); out.close(); hent den ind igen med file = new File( "myComponent.ser" ); ObjectInputStream in = new ObjectInputStream( new FileInputStream( file ) ); Serializable o = (Serializable)in.readObject(); in.close(); component = (JTextPane)o;
Meningen var at den skulle ud på en læsbar fil. Og med det kendskab jeg har til serialisering og ObjectStream, bliver det til en 'flad-fil' (mener jeg det hedder??) Det skulle fungere som en slags backup, som skal kunne læses. Når du gemmer objekter skal man jo kende dens præcise indhold mht. variabler og metoder for at læse den igen.
Hvis du bare skal gemme teksten så brug getText, så ryger formatteringen blot. Du kan også gemme den som xml, det kan du også let læse, men igen ryger formatteringen.
Det jeg kan lede ud af dit svar er, at det ikke er muligt at gemme en JTextPane væk i en txt fil, og samtidig beholde linjeskift og lignende. - Ærgeligt. Men du gjorde et forsøg og skal have dine point.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.