Netbeans 保存jTextPane文本无法正常工作

Netbeans 保存jTextPane文本无法正常工作,netbeans,save,jtextpane,filechooser,Netbeans,Save,Jtextpane,Filechooser,我正在试图保存一个“历史记录”,在您从一行发送命令后,我正在创建一个“历史记录”,因此每次按Enter键时,命令都会转到带有行分隔符的jTextPane。。。但是,当我保存文件时,它似乎没有得到行分隔符。例如,我的jTextPane有如下内容: Create database user use database user show tables from database 它没有像那样保存工作区,而是给了我以下信息: 创建数据库用户使用数据库用户显示数据库中的表 我该怎么办?这是我的密码 St

我正在试图保存一个“历史记录”,在您从一行发送命令后,我正在创建一个“历史记录”,因此每次按Enter键时,命令都会转到带有行分隔符的jTextPane。。。但是,当我保存文件时,它似乎没有得到行分隔符。例如,我的jTextPane有如下内容:

Create database user
use database user
show tables from database
它没有像那样保存工作区,而是给了我以下信息:

创建数据库用户使用数据库用户显示数据库中的表

我该怎么办?这是我的密码

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);
        }
    }
您需要使用:

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

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

顺便说一下。“System.lineSeparator()”是我尝试过的东西,但它不起作用,因为它在读取文本窗格中的所有内容后放置行,这可能是一个解决方案,但。。。并没有按照我想要的方式写所有的东西,因为它仍然用它找到的每个单词只创建一行,而不是单独给出一行。我尝试使用您提供的示例输入,它似乎工作得很好。如果还有什么我不懂的,请解释一下。