我不能在新行中写入文件中的字符串,尽管我将“\ n”添加到字符串的末尾
public void writeEquation(String fileName, String expr) {
File aFile = new File(fileName);
try {
FileWriter writer = new FileWriter(aFile, true);
BufferedWriter buffered = new BufferedWriter(writer);
buffered.write(expr+"\n");
buffered.flush();
buffered.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
哪里出错?
答案 0 :(得分:7)
为什么不使用BufferedWriter
类提供的newLine()方法?
写一个行分隔符。行分隔符字符串由系统属性line.separator定义,不一定是单个换行符('\ n')。
在您的代码中,更改:
buffered.write(expr+"\n");
到:
buffered.write(expr);
buffered.newLine();
稍后编辑:我也不确定您想要新行的位置,但是如果您想确保在文件末尾的新行添加<{1}}字符串 ,然后在调用expr
之前调用方法,如:
buffered.write(expr)
答案 1 :(得分:2)
使用BufferedWriter.newLine()
的{{1}}方法。这将有助于克服依赖于操作系统的怪癖
答案 2 :(得分:0)
做
buffered.write("\n"+expr);
当你做expr +“\ n”时,你的字符串后面会出现换行符。