我在学习FileWriter时遇到了一点问题... 最终目标是编写一个程序,该程序将“生成”一个.bat文件,并由启动.jar的批处理代码执行。 问题是,我不知道如何确保每个FileWriter.write();都会打印在新行上... 有什么想法吗?
我在学习FileWriter时遇到了一点问题... 最终目标是编写一个程序,该程序将“生成”一个.bat文件,并由启动.jar的批处理代码执行。 问题是,我不知道如何确保每个FileWriter.write();都会打印在新行上... 有什么想法吗?
要创建新行,只需在字符串末尾添加换行符即可:
FileWriter writer = ...
writer.write("The line\n");
此外,PrintWriter
类还提供了一些方法,可以自动为您追加换行符(编辑:它还会自动使用适合您操作系统的正确换行字符串):
PrintWriter writer = ...
writer.println("The line");
使用 BufferedWriter,在每个表示一行的写操作之后使用 writer.newLine()。
或者,使用 PrintWriter,并使用 writer.println()。
.newLine()
会为您选择特定于平台的换行符。 - David BPrintWriter
是写入文本文件的最佳选择,因为除了提供写入String
对象的方法外,它还提供了写入其他数据类型如int
、float
和double
的方法。如果要使用FileWriter
输出一个int
,你需要将其转换为字符串:writer.write(myInt + "");
。而使用PrintWriter
,你只需简单地写writer.print(myInt);
。这虽然只是一个小便利,但确实很方便。PrintWriter
还提供了println()
方法,自动在末尾包含换行符。 - MichaelBufferedWriter
,那么您可以使用内置方法:BufferedWriter writer = Files.newBufferedWriter(output, charset);
writer.newLine();