此代码:
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
答案 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();
}
}
}
}
<强>输出:强>