3 回答
TA贡献1893条经验 获得超10个赞
如果文件不存在,则说明您已编写代码来创建新文件。同样,如果文件存在,您可以删除该文件,并创建一个新文件
在删除旧文件之前,可以将内容复制到一个String中,在写入文件之前将其添加到要写入文件的内容中。
StringBuilder contentToWrite = new StringBuilder();
contentToWrite.append(newContent);
if (!file.exists()) {
file.createNewFile();
} else {
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line = bufferedReader.readLine();
StringBuilder sb = new StringBuilder();
while (line != null) {
sb.append(line).append("\n");
line = bufferedReader.readLine();
}
contentToWrite.append("\n\n" + sb);
file.delete();
file.createNewFile();
}
FileWriter writer = new FileWriter(file, true);
writer.append(contentToWrite);
writer.flush();
writer.close();
PS:不要忘记在 finally 语句中关闭 FileReader 和 BufferedReader。
TA贡献1872条经验 获得超3个赞
如果文件存在,为什么不删除它:
if (!file.exists()) {
file.createNewFile();
} else {
file.delete()
file.createNewFile();
}
TA贡献1772条经验 获得超5个赞
您可以在FileWriter
构造函数中将追加标志设置为 false。然后,使用write()
函数而不是append()
函数
FileWriter writer = new FileWriter(file, false); writer.write(fileContents);
添加回答
举报