我正在尝试向现有的文本文件添加新行,这很有效,但有时会在旧数据和新数据之间添加空行
所以我有一个包含数据的文件:
mouse
keyboard
当添加时,它会这样添加:
mouse
keyboard
printer
但我不希望新旧文本之间有空行。这是我使用过的代码:
String filename= "Stock.txt"
FileWriter fw = new FileWriter(filename,true);
fw.write(System.lineSeparator() + data);
fw.close();
缓冲区读取器和缓冲区写入器是读取和写入文件时首选的类。
你可以通过几种方式来实现这一点。
示例1-使用手动关闭的File、FileWriter和BufferWriter类:
File file = new File("Stock.txt");
FileWriter fr = new FileWriter(file, true);
BufferedWriter br = new BufferedWriter(fr);
br.write(data + "n");
br.close();
fr.close();
示例2-将File、FileWriter和BufferWriter类与try-with-resources一起使用,当处理停止时,它将自动关闭资源:
File file = new File("Stock.txt");
try (FileWriter fileWriter = new FileWriter(file, true);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter)) {
bufferedWriter.write(data + "n");
} catch (FileNotFoundException e) {
System.out.println("Unable to open file, file not found.");
} catch (IOException e) {
System.out.println("Unable to write to file." + file.getName());
}
请参阅:https://stackabuse.com/reading-and-writing-files-in-java/获取一些关于阅读和编写文件的非常有用的信息!
请参阅:https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html获取有关尝试使用资源的信息。