【发布时间】:2013-03-18 17:42:32
【问题描述】:
我在 TextArea 中有一些文本,我想将其保存在文件中,我的代码在这里:
private void SaveFile() {
try {
String content = txt.getText();
File file = new File(filename);
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content);
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
但它保存时没有“\n”;在新文件中,一切都在一行上; 我也能预见到那些“进入”吗? 提前谢谢你
问题是因为记事本,所以这里是解决方案:
private void SaveFile() {
try {
String content = txt.getText();
content = content.replaceAll("(?!\\r)\\n", "\r\n");
File file = new File(filename);
// if file doesnt exists, then create it
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content);
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
感谢您的帮助
【问题讨论】:
-
你能分享
txt.getText();的输出吗? -
你如何验证这个跳过的'\n'。一些文本编辑器 (grrr notepad) ksip \n 支持回车 (\r) 尝试其他文本编辑器。
-
\n 被视为新行。所以尝试通过附加转义字符来添加它,如 \\n
-
Quirliom - 你是对的。谢谢你
-
@Quirliom 也许你应该把它作为答案。