我试图在一个现有的文本文件中添加一行新的内容,它可以工作,但有时会在旧的数据和新的数据之间添加一行空行
所以我有一个文件,里面有数据。
mouse
keyboard
当添加时,它是这样添加的:
mouse
keyboard
printer
但我不希望在新旧文本之间有空行。 这是我使用的代码。
String filename= "Stock.txt"
FileWriter fw = new FileWriter(filename,true);
fw.write(System.lineSeparator() + data);
fw.close();
Buffer reader和Buffer writer是在对文件进行读写时的首选类。
你可以用几种方法来实现。
例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-resource一起使用,当处理停止后,资源将自动关闭。
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.comreading-and-writing-files-in-java。 关于读写文件的一些非常有用的信息!
请看。https:/docs.oracle.comjavasetutorialessentialexceptionstryResourceClose.html。 以获取关于 try-with-resource 的信息。