用Java

时间:2018-07-20 01:14:35

标签: java file file-io text-files

我是File Streams的新手,希望能获得一些帮助。以下代码是我用来写入指定文件的代码。

OutputStream outStream = new FileOutputStream(file);
outStream.write(contentsToWrite.getBytes());
outStream.close();
  1. 如何将不同的行保存到文件中?就我而言,在写入文件时,无法使用\n
  2. 如何在不删除其他行的情况下将一行保存到文件中?

3 个答案:

答案 0 :(得分:2)

有一个很好的简单方法,它允许您使用要编写的字符串列表和文件本身来执行此操作。

        List<String> lines=new ArrayList<>(contentToWrite);//if it is an array or something that isn't a list
        Files.write(file.toPath(),lines);

答案 1 :(得分:2)

Java有一些用于文件流的包装器类。 BufferedWriter可用于将字符串写入文件。

boolean append = true;
String filename = "/path/to/file";

BufferedWriter writer = new BufferedWriter(new FileWriter(filename, append));
// OR: BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename, append)));

writer.write(line1);
writer.newLine();
writer.write(line2);
writer.newLine();
// ......       

writer.close();

append表示您写入文件末尾而不是清空文件。

答案 2 :(得分:0)

FileOutputStream类构造函数方法具有第二个参数。如果将其设置为 true 。它将内容附加到您编写的文件中。并且“ \ r \ n”可以更改为新行。

OutputStream outStream = new FileOutputStream("a.txt",true);
outStream.write("hello".getBytes());
outStream.write("\r\n".getBytes());
outStream.write("hello".getBytes());
outStream.close();