Java PrintWriter#println方法未按预期工作
此代码:Java PrintWriter#println方法未按预期工作,java,printwriter,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”,但它的工作方式与我希望的不一样。我该如何解决这
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”,但它的工作方式与我希望的不一样。我该如何解决这个问题
另外,我正在使用windows 7,您可以连接系统的换行符以分隔行:
String newLine = System.getProperty("line.separator");
output.println("something" + newLine);
output.println("something else" + newLine);
你的代码工作起来很有魅力,只需使用合适的程序员编辑器检查文件即可。 (或者像我之前建议的那样,看一看文件的十六进制转储)
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,您使用的是什么?这非常好用。您必须使用记事本进行输出。尝试使用不同的文本编辑器,如notepad++。您将获得所需的输出。尝试以下操作:
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.print(“某物\n\n”);你能发布输出文件的hextump吗?output.println(“某物”)是什么意思没有任何\n-打印?是否使用记事本检查文件内容?它不会将单个
\n
显示为换行符,但它的存在可以在您使用其他texteditor甚至hexeditor显示它时进行验证。请查看并使用高级文本编辑器检查输出,以便您可以看到实际输出的字符。仅当在中查看文件时,这一功能才保证有效与程序运行的系统相同。但它比使用\n
或\r\n
等更干净+1问题不在于java。如上所述,我下载了一个高级编辑器(notepad++),结果一切正常。谢谢回复我的帖子!Oõ您使用的哪个编辑器无法正确显示\n
?