2016-04-15 4 views
0

Я пытаюсь сохранить «историю», которую я создаю после того, как вы отправили команду из строки, поэтому каждый раз, когда вы нажимаете «Ввод», команды переходят на jTextPane с разделителем строк. Однако, когда я сохраняю файл, он, похоже, не получает разделитель строк. Например, мой JTextPane имеет что-то вроде:Сохранение текста jTextPane не работает должным образом

Create database user 
use database user 
show tables from database 

Вместо экономии рабочего пространства так же, как это, это дает мне это:

Создание базы данных useruse базы данных usershow таблицы из базы данных

Что я должен делать? Вот мой код

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

Кстати. «System.lineSeparator()» - это то, что я пробовал, но он не будет работать, поскольку он помещает строку после того, как она читает все, начиная с TextPane. –

ответ

0

Вы должны использовать:

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

Это может быть решение, но все же ... Я не пишу все так, как хочу , потому что он все еще создает только одну строку с каждым словом, которое он нашел вместо того, чтобы давать разделитель строк. –

+0

Я попытался использовать образец ввода, который вы дали, и кажется, что он работает нормально. Пожалуйста, объясните, если что-то еще я не получу. – rushabhshah1693

0

Вопрос заключается в том, что вам нужно использовать/п вместо System.lineSeparator. Поведение JTextPane не зависит от системы.

Смежные вопросы