在Java中写入文本文件时插入新行
我对学习FileWriter有一点兴趣。。。最终目标是编写一个程序,该程序将“生成”一个.bat文件,该文件将由启动.jar的批处理代码执行。问题是,我不知道如何确保每个FileWriter.write()都;将在新行上打印。。。任何想法???使用BufferedWriter并在表示一行的每次写入操作后使用writer.newLine()在Java中写入文本文件时插入新行,java,Java,我对学习FileWriter有一点兴趣。。。最终目标是编写一个程序,该程序将“生成”一个.bat文件,该文件将由启动.jar的批处理代码执行。问题是,我不知道如何确保每个FileWriter.write()都;将在新行上打印。。。任何想法???使用BufferedWriter并在表示一行的每次写入操作后使用writer.newLine() 或者,使用PrintWriter和writer.println()。要创建新行,只需在字符串末尾附加一个换行符: FileWriter writer = ..
或者,使用PrintWriter和writer.println()。要创建新行,只需在字符串末尾附加一个换行符:
FileWriter writer = ...
writer.write("The line\n");
另外,PrintWriter
类提供了自动为您添加换行符的方法(edit:它还将自动为您的操作系统使用正确的换行符):
如果您使用的是
BufferedWriter
,则可以使用内置方法:
BufferedWriter writer = Files.newBufferedWriter(output, charset);
writer.newLine();
可能重复的
。换行符()
也会为您选择特定于平台的换行符。哦,好的。我明白了。所以FileWriter并不是写入文本文件的最佳工具?PrintWriter是写入文件的最佳工具。至少如果你想写原始数据。但是,由于您实际上希望将文本打印到文件中,因此将FileWriter包装到BufferedWriter或PrintWriter中有助于您处理该问题。@CodeAdmiral我认为PrintWriter
是将文本写入文件的最佳选择,因为除了提供写入String
对象的方法外,它提供了写入其他数据类型的方法,如int
、float
和double
。要使用FileWriter
输出int
,必须将其转换为字符串:writer.write(myInt+)代码>。使用PrintWriter
,您只需执行writer.print(myInt)代码>。这是一个小小的便利,但仍然是一个便利PrintWriter
还提供了println()
方法,该方法在末尾自动包含一个换行符。@Michael好的,这很有意义。我选择FileWriter是因为我的Java书籍使用了它。以后我会记住的,谢谢你!!!
BufferedWriter writer = Files.newBufferedWriter(output, charset);
writer.newLine();