当然是在Java中.我正在编写一个程序并在Windows环境下运行它,但我需要输出(.csv)以Unix格式完成.任何简单的方案?谢谢!
Jon*_*eet 13
注意:正如评论中所报告的那样,下面给出的方法在JDK 9+中打破.在James H.的回答中使用这种方法.
"Unix格式"是指使用"\n"作为行终止符而不是"\ r \n"?只需line.separator在创建PrintWriter之前设置系统属性即可.
就像一个演示:
import java.io.*;
public class Test
{
public static void main(String[] args)
throws Exception // Just for simplicity
{
System.setProperty("line.separator", "xxx");
PrintWriter pw = new PrintWriter(System.out);
pw.println("foo");
pw.println("bar");
pw.flush();
}
}
Run Code Online (Sandbox Code Playgroud)
当然,它为整个JVM设置了它,这不是理想的,但它可能就是你所需要的.
Jam*_* H. 13
要编写带有unix行结尾的文件,请在从PrintWriter派生的类中覆盖println,并使用print with \n.
PrintWriter out = new PrintWriter("testFile") {
@Override
public void println() {
write('\n');
}
};
out.println("This file will always have unix line endings");
out.println(41);
out.close();
Run Code Online (Sandbox Code Playgroud)
这样可以避免触及代码中现有的任何println调用.