1

我无法在文件中的新行中写入字符串,尽管我在字符串末尾添加了“\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();
        }
    }

错误在哪里?

4

3 回答 3

7

为什么不使用类提供的newLine()方法BufferedWriter呢?

写入行分隔符。行分隔符字符串由系统属性 line.separator 定义,不一定是单个换行符 ('\n')。

在您的代码中,更改:

 buffered.write(expr+"\n");

到 :

 buffered.write(expr);
 buffered.newLine();

稍后编辑:我也不确定你想要新行的位置,但是如果你想确保你的expr字符串被添加到文件末尾的新行上,那么在调用之前调用该方法buffered.write(expr)

buffered.newLine();
buffered.write(expr);
于 2012-06-08T10:06:12.153 回答
2

的使用BufferedWriter.newLine()方法BufferedWriter。这将有助于克服依赖于操作系统的怪癖

于 2012-06-08T10:06:53.730 回答
0

buffered.write("\n"+expr);

当您执行 expr+"\n" 时,您的字符串后面会出现换行符。

于 2012-06-08T10:06:05.130 回答