不能在新行中写字符串

时间:2012-06-08 10:03:51

标签: java io

我不能在新行中写入文件中的字符串,尽管我将“\ 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();
        }
    }

哪里出错?

3 个答案:

答案 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”时,你的字符串后面会出现换行符。