4

这段代码:

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”,但它不像我想要的那样工作。我该如何解决?

PS我用的是windows 7

4

5 回答 5

6

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

    String newLine = System.getProperty("line.separator");
    output.println("something" + newLine);
    output.println("something else" + newLine);
于 2012-10-09T08:16:42.040 回答
2

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

于 2012-10-09T08:17:24.587 回答
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,你用的是什么?

于 2012-10-09T08:17:39.390 回答
1

这工作得很好。您必须使用记事本进行输出。尝试使用其他文本编辑器,例如 notepad++。你会得到你想要的输出。

于 2012-10-09T08:28:40.393 回答
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();
            }
        }
    }
}

输出:

输出

于 2012-10-09T08:29:42.980 回答