我有重命名文件的代码,然后立即尝试打开它。
在Windows XP上,这有时(但很少)会抛出FileNotFoundException。
renameTo的返回值为true。
这是一个已知问题吗?在文件实际出现之前重命名成功后,文件系统可能会有延迟吗?
由于
答案 0 :(得分:0)
我在Linux上遇到同样的问题,在CIFS文件系统中移动文件。 Google Guava库中的等效方法Files.move(java.io.File, java.io.File)似乎没有这个问题。使Guava更好的原因是,如果renameTo()没有返回true,它会逐字节地将文件从源字节复制到目标字节。当我开始写这个答案时,我不知道Guava首先委托给File.renameTo(),但仍然:没有Guava的问题。