我正在创建一个将行输出到文本文件的程序。我不想覆盖该文件,但这是我当前的代码所做的。我只想减少已存在的行数并写下hello
。这是我的代码:
FileWriter fileWriter = new FileWriter(fileLocation, false);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
while(numberOfLines > compareToNumOfLines) {
bufferedWriter.newLine();
compareToNumOfLines++;
}
bufferedWriter.write("hello");
bufferedWriter.close();
不幸的是,这只是创建了以前文本的空间。我做错了什么?
答案 0 :(得分:8)
更改
FileWriter fileWriter = new FileWriter(fileLocation, false);
到
FileWriter fileWriter = new FileWriter(fileLocation, true);
如documentation中所述,第二个参数是一个布尔值,用于指定是否要附加文本或覆盖它。
答案 1 :(得分:0)
如果要将文本附加到现有文件,请以附加模式打开文件。如果你想在文件中的随机位置写,那么你可以使用RandomAccessFile类。