PrintWriter#println方法无法按预期工作

时间:2012-10-09 08:07:08

标签: java printwriter

此代码:

PrintWriter output = new PrintWriter(new FileWriter(outputFile, false));
output.println("something\n");
output.println("something else\n");

输出:

something
something else

而不是:

something

something else

我尝试使用“\ r \ n”而不仅仅是“\ n”,但它不能像我想要的那样工作。我该如何解决这个问题?

P.S。我正在使用Windows 7

5 个答案:

答案 0 :(得分:6)

您可以连接系统的换行符以分隔您的行:

    String newLine = System.getProperty("line.separator");
    output.println("something" + newLine);
    output.println("something else" + newLine);

答案 1 :(得分:2)

您的代码就像魅力一样,只需使用适当的程序员编辑器检查文件即可。 (或者我之前建议的,看看文件的十六进制转储)

答案 2 :(得分:2)

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class Main {
    public static void main(String[] args) {
        PrintWriter output;
        try {
            output = new PrintWriter(new FileWriter("asdf.txt", false));
            output.println("something\n");
            output.println("something else\n");
            output.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

对我来说效果很好,我得到像这样的 asdf.txt

  

东西

     

别的东西

我正在使用jre1.7,你在用什么?

答案 3 :(得分:1)

这完全没问题。您必须使用记事本输出。尝试使用像notepad ++这样的其他文本编辑器。你会得到你想要的输出。

答案 4 :(得分:0)

试试这个:

package com.stackoverflow.works;

import java.io.FileWriter;
import java.io.PrintWriter;

/*
 * @author: sarath_sivan
 */
public class PrintWriterExample {

    private static final String NEW_LINE = System.getProperty("line.separator");

    public static void main(String[] args) {
        String outputFile = "C:/Users/sarath_sivan/Desktop/out.txt";
        PrintWriter output = null;
        try {
            output = new PrintWriter(new FileWriter(outputFile, false));
            output.println("something" + NEW_LINE);
            output.println("something else" + NEW_LINE);
            output.flush();
        } catch(Exception exception) {
            exception.printStackTrace();
        } finally {
            if (output != null) {
                output.close();
            }
        }
    }
}

<强>输出:

Output