保存jTextPane文本无法正常工作

时间:2016-04-15 23:45:10

标签: netbeans save jtextpane filechooser

我正在尝试保存我从一行发出命令后正在构建的“历史记录”,因此每次按Enter键时,命令都会转到带有行分隔符的jTextPane ...但是当我保存时文件它似乎没有得到行分隔符。例如,我的jTextPane有类似的东西:

Create database user
use database user
show tables from database

不是像那样保存工作区,而是给了我:

从数据库

创建数据库useruse database 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);
        }
    }

2 个答案:

答案 0 :(得分:0)

您需要使用:

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

答案 1 :(得分:0)

问题是您需要使用/ n而不是System.lineSeparator。 JTextPane行为并不取决于系统。