我正在尝试保存我从一行发出命令后正在构建的“历史记录”,因此每次按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);
}
}
答案 0 :(得分:0)
您需要使用:
jTextPane1.getDocument().getText(0,jTextPane1.getDocument().getLength());
答案 1 :(得分:0)
问题是您需要使用/ n而不是System.lineSeparator。 JTextPane行为并不取决于系统。