我有以下一段代码,它允许我重新创建一个保存更新数据的文件。尽管我使用了"StandardOpenOption"。选项TRUNCATE_EXISTING覆盖旧文件,我得到一个错误,说文件已经存在,它不会写在上面!
File filename = new File("data.txt");
public void writeToFile(char[] data){
filename.delete();
Files.write(filename.toPath(), data, StandardOpenOption.TRUNCATE_EXISTING);
}
是否有可能代替删除和重新创建相同的文件一遍又一遍地编辑初始文件的数据?
谢谢看来这是我的一个错误。与"StandardOpenOption"一起。TRUNCATE_EXISTING"我已经包括" standardopenoption . create_new "。这是因为我想要创建这个文件,以防它不存在!怎么可能首先尝试编辑它,如果它不存在,创建一个新的?
对不起,我最初的错误
这个方法(对我有用)是创建一个try{}catch{}
块,并在"try"中尝试编辑文件,如果失败,因为它不存在,在"catch"中创建一个新文件。
看一下Files类中write方法的JavaDoc,它说:"默认情况下,该方法创建一个新文件或覆盖一个现有文件",所以似乎所有你需要做的就是:
File filename = new File("data.txt");
public void writeToFile(char[] data) throws IOException {
Files.write(filename.toPath(), data);
}