Java 在现有文本文件中追加一行,但会添加额外的空行
我试图在现有的文本文件中添加一行新行,但有时会在旧数据和新数据之间添加一个空行 所以我有一个包含数据的文件:Java 在现有文本文件中追加一行,但会添加额外的空行,java,append,text-files,bufferedreader,bufferedwriter,Java,Append,Text Files,Bufferedreader,Bufferedwriter,我试图在现有的文本文件中添加一行新行,但有时会在旧数据和新数据之间添加一个空行 所以我有一个包含数据的文件: mouse keyboard 当添加时,它会这样添加: mouse keyboard printer 但我不希望在新旧文本之间有一条空行。 这是我使用的代码: String filename= "Stock.txt" FileWriter fw = new FileWriter(filename,true); fw.write(System.lineSeparator() + da
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 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());
}
请参阅:有关读取和写入文件的一些非常有用的信息
请参阅:以获取有关试用资源的信息