我有以下代码,允许我重新创建一个包含更新数据的文件。即使我使用了" StandardOpenOption.TRUNCATE_EXISTING"覆盖旧文件的选项我收到一个错误,说文件已经存在,并且它不会写在它上面!
File filename = new File("data.txt");
public void writeToFile(char[] data){
filename.delete();
Files.write(filename.toPath(), data, StandardOpenOption.TRUNCATE_EXISTING);
}
是否可以反复删除和重新创建相同的文件来编辑初始文件的数据?
谢谢
编辑1:看起来这是我的错误。与" StandardOpenOption.TRUNCATE_EXISTING"一起使用我已经包含了#34; StandardOpenOption.CREEATE_NEW"。 这是因为我希望创建文件以防它已经存在!如何首先尝试编辑它,如果它不存在则创建一个新的?抱歉我最初的错误
答案 0 :(得分:0)
继续这个(对我有用)的方法是创建一个try{}catch{}
块并在"尝试"尝试编辑该文件,如果它失败,因为它不存在,请在" catch"中创建一个新文件。
答案 1 :(得分:0)
查看Files类中write方法的JavaDoc,它说:“默认情况下,该方法会创建一个新文件或覆盖现有文件”,所以你需要做的就是:
File filename = new File("data.txt");
public void writeToFile(char[] data) throws IOException {
Files.write(filename.toPath(), data);
}