Java 文件输出流

标签 java file fileoutputstream

我四处寻找,但找不到我需要的东西。 我正在编写一个简单的代码来将一些字符串保存到 .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/

相关文章:

java - 在java中 `.properties`文件在编辑模式下没有显示任何内容

android 错误 : java. io.filenotfoundexception/proc/net/xt_qtaguid/stats + 打开失败:ENOENT(没有这样的文件或目录)

java - FileOutputStream() 不起作用?

java - 如何检查、抛出和捕获 bean 的验证 ConstraintViolationException

java - 我如何在 java 中切换红绿灯,因为每个灯应该使用多线程分别只吹 3 秒?

c# - 在 Windows Phone 中写入文件

c - 从使用追加模式打开的文件中读取

java - FragmentStatePageAdapter 保留附加到 fragment 的接口(interface)

java - Spring Framework 4.3.0 - 我什么时候需要@Autowired?

c - 为什么 fread() 在一串 0 处停止?