2016-04-15 7 views
0

Ich versuche, eine "Geschichte" zu speichern, die ich nach dem Senden eines Befehls aus einer Zeile erstellen, so dass jedes Mal, wenn Sie die Eingabetaste drücken, die Befehle an die jTextPane mit einem Trennzeichen übergeben. Aber wenn ich die Datei speichere, scheint es nicht das Zeilentrennzeichen zu bekommen. Beispiel mein JTextPane hat so etwas wie:Speichern von jTextPane-Text funktioniert nicht richtig

Create database user 
use database user 
show tables from database 

Statt den Arbeitsbereich des Sparens einfach so, es gibt mir dies:

Datenbank erstellen Datenbank useruse usershow Tabellen aus der Datenbank

Was soll ich tun? Hier ist mein Code

String ar; 
    String TEXTO = jTextPane1.getText() + System.lineSeparator(); 
    FileFilter ft = new FileNameExtensionFilter("Text Files", ".txt"); 
    FC.setFileFilter(ft); 
    int returnVal = FC.showSaveDialog(this); 

    if (returnVal == javax.swing.JFileChooser.APPROVE_OPTION) { 

     java.io.File saved_file = FC.getSelectedFile(); 
     String file_name = saved_file.toString(); 
     File archivo; 
     ar = "" + file_name + ".txt"; 

     archivo = new File(ar); 
     try { 
      if (saved_file != null) { 
       try (FileWriter GUARDADO = new FileWriter(ar)) { 
        GUARDADO.write(TEXTO); 
       } 
      } 
     } catch (IOException exp) { 
      System.out.println(exp); 
     } 
    } 
+0

Übrigens. Die "System.lineSeparator()" ist etwas, was ich ausprobiert habe, aber es wird nicht funktionieren, da es die Zeile nach dem liest alles aus dem TextPane –

Antwort

0

Sie müssen verwenden:

jTextPane1.getDocument().getText(0,jTextPane1.getDocument().getLength()); 
+0

Das könnte eine Lösung sein, aber noch nicht ... schreibt nicht alles so, wie ich es möchte , weil es immer noch nur eine Zeile mit jedem gefundenen Wort erzeugt, anstatt das Zeilentrennzeichen –

+0

zu geben. Ich habe versucht, die Beispieleingabe zu verwenden, die Sie gegeben haben, und es scheint gut zu funktionieren. Bitte erkläre, ob ich etwas anderes bekomme. – rushabhshah1693

0

Das Problem ist, dass Sie verwenden müssen/n statt System.lineSeparator. Das JTextPane-Verhalten hängt nicht vom System ab.