我四处寻找,但找不到我需要的东西。 我正在编写一个简单的代码来将一些字符串保存到 .txt 文件中。
我正在使用:
File archivo = new File(FileName);
fileOutputStream.write(toString().getBytes());
fileOutputStream.flush();
当我这样做时,.txt 已成功创建并保存了我需要保存的信息,但它全部保存在 1 个大行中。 如何将其保存在不同的行中?
打开txt时的示例:
This is line 1This is line 2This is line 3This is line 4
我在每个字符串的末尾添加了“\n”,但它不起作用。
toString() 返回一个字符串:“这是第 1 行”; 操作系统:Windows 7
最佳答案
你可以尝试做这样的事情:
public void write(final File file, final List<String> lines) throws IOException{
final BufferedWriter writer = new BufferedWriter(new FileWriter(file)); //new FileWriter(file, true) if you want to append the file (default is false)
for(final String line : lines){
writer.write(line);
writer.newLine();
}
writer.flush();
writer.close();
}
如果您使用的是 Java 8,请随意尝试使用 lambda:
public void write(final File file, final List<String> lines) throws IOException{
final BufferedWriter writer = new BufferedWriter(new FileWriter(file)); //new FileWriter(file, true) if you want to append the file (default is false)
lines.forEach(
l -> {
try{
writer.write(l);
writer.newLine();
}catch(IOException ex){
ex.printStackTrace();
}
}
);
writer.flush();
writer.close();
}
对于使用,您可以尝试以下操作:
write(new File(fileName), Arrays.asList("这是第 1 行", "这是第 2 行", "这是第 3 行", "这是第 4 行"));
关于Java 文件输出流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18575649/