【问题标题】:System.out to Unix line endings on WindowsSystem.out 到 Windows 上的 Unix 行尾
【发布时间】:2014-05-26 09:18:47
【问题描述】:

在 Java 中,新创建的输出流会查看系统行分隔符属性来决定 Unix 和 Windows 行结束符,但是 System.out 在程序启动时已经创建,因此更改该属性对此没有影响流。

如果您希望 System.out 使用 Unix 行结尾,尽管在 Windows 上运行,除了避开 println() 并始终使用 print("...\n") 之外,还有其他方法吗?

【问题讨论】:

  • 是什么让您认为System.out 在 Unix 上没有做正确的事情?
  • @Raedwald 它在 Unix 上做了正确的事情。我试图让它在 Windows 上使用 Unix 行尾。

标签: java newline


【解决方案1】:

您可以手动设置System.out。我有时会使用它来将打印件重定向到文件。

例如:

System.setOutput(new PrintStream("whatever_file.txt"));

在类似的意义上,您可以更改 PrintStream 以考虑您的行尾。

也可以直接设置行结束符的属性:

System.setProperty("line.separator", "\n");

这也可以在通过通常的属性设置器创建 JVM 时完成:

java -jar bla.jar -Dline.seperator='\n'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    相关资源
    最近更新 更多