Java 仅当可以保存新版本时才删除同名文件

Java 仅当可以保存新版本时才删除同名文件,java,Java,我目前的情况是: 我有test.txt,间隔一段时间后,我想用相同的名称保存一个较新版本的test.txt,因为在我的应用程序中,我使用test.txt名称来读取文件 我发现使用下面的代码基本上覆盖了test.txt文件(如果它已经存在) new FileWriter("test.txt", false); 我使用这段代码的主要问题是新的FileWriter可能会抛出错误(IOException和FileNotFound)。如果无法保存新版本的test.txt,我不希望它删

我目前的情况是: 我有test.txt,间隔一段时间后,我想用相同的名称保存一个较新版本的test.txt,因为在我的应用程序中,我使用test.txt名称来读取文件

我发现使用下面的代码基本上覆盖了test.txt文件(如果它已经存在)

new FileWriter("test.txt", false);
我使用这段代码的主要问题是新的FileWriter可能会抛出错误(IOException和FileNotFound)。如果无法保存新版本的test.txt,我不希望它删除旧的test.txt

是否有一种方法/选项可以确保只有在创建/保存新版本时才能删除旧版本的test.txt?
我不想陷入旧版本被删除而新版本无法保存的情况。

您可以尝试将数据写入新的临时文件,如果完成,请删除test.txt并将临时文件重命名为test.txt。

我不知道您可以在一行原子代码中完成此操作,但请尝试以下操作:1)重命名现有文件,然后2)编写新文件。如果2失败,则将重命名的文件恢复为原始文件名。如果2成功,则删除重命名的文件。