Netbeans 保存jTextPane文本无法正常工作
我正在试图保存一个“历史记录”,在您从一行发送命令后,我正在创建一个“历史记录”,因此每次按Enter键时,命令都会转到带有行分隔符的jTextPane。。。但是,当我保存文件时,它似乎没有得到行分隔符。例如,我的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
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()”是我尝试过的东西,但它不起作用,因为它在读取文本窗格中的所有内容后放置行,这可能是一个解决方案,但。。。并没有按照我想要的方式写所有的东西,因为它仍然用它找到的每个单词只创建一行,而不是单独给出一行。我尝试使用您提供的示例输入,它似乎工作得很好。如果还有什么我不懂的,请解释一下。