Java &引用\";导出到.jar文件时不工作

Java &引用\";导出到.jar文件时不工作,java,jar,filewriter,bufferedwriter,Java,Jar,Filewriter,Bufferedwriter,我有一个我写的程序的输出文件。它由FileWriter和BufferedWriter编写 FileWriter errout = new FileWriter(new File("_ErrorList.txt")); BufferedWriter out = new BufferedWriter(errout); 稍后,我使用类似于的行写入文件 out.write("Product id:" + idin + " did not fetch any pictures.\

我有一个我写的程序的输出文件。它由FileWriter和BufferedWriter编写

    FileWriter errout = new FileWriter(new File("_ErrorList.txt"));
    BufferedWriter out = new BufferedWriter(errout);
稍后,我使用类似于的行写入文件

    out.write("Product id:" + idin + " did not fetch any pictures.\n ");
当我在Eclipse中简单运行程序时,输出文件的格式正确,每条消息都写在新行上。但是,当我导出到.jar文件时,它不再工作,并将每条消息放在一行上,就好像“\n”不工作一样


我是否错误地使用了FileWriter/BufferedWriter,或者它在.jar文件中不起作用?

您不应该直接使用“\n”。使用
out.newLine()
引入换行符,或者将
BufferedWriter
包装到
PrintWriter
中,然后使用
out.println()


无论如何,这与
.jar
文件无关。更可能的情况是Eclipse很聪明,向您显示换行符,而操作系统却没有。首先,请检查换行符是否有效。使用@Andrew Thompson提供的System.getProperty(“line.separator”)

如果您正在编写大量新行,另一个选择是将BufferedWriter包装到PrintWriter中

  FileWriter errout = new FileWriter(new File("_ErrorList.txt"));
  BufferedWriter out = new BufferedWriter(errout);

  PrintWriter printWriter = new PrintWriter(out);
  printWriter.println("Product id:" + idin + " did not fetch any pictures.");

\n
替换为
System.getProperty(“line.separator”)
我知道附近一定有一个
println
,当我去寻找它时,我被另一个问题分散了注意力@AndrewThompson在那里做过那件事。我给了你尽可能多的信任“我给了你尽可能多的信任。”这相当于“比我应得的更多的信任”。)+顺便说一句,你的答案是1。好的,使用out.newLine()解决了这个问题。谢谢你的帮助