这只是一个概念性问题。我正在使用Files.move()
和StandardCopyOption.ATOMIC_MOVE
选项。我认为这样更安全,但结果当抛出AccessDeniedException时仍然会删除文件。
是否有任何解决方法或解释将不胜感激。
代码非常简单:
Files.move(netDirJobs.toPath(), archiveJobs.toPath(),StandardCopyOption.ATOMIC_MOVE);
操作系统:Win7专业版SP1
@MarkJeronimus:
netDirLog.toPath().getFileSystem().provider() = sun.nio.fs.WindowsFileSystemProvider@5dac9e07
archiveLog.toPath().getFileSystem().provider() = sun.nio.fs.WindowsFileSystemProvider@5dac9e07
同一对象
path.getFileSystem().provider()
,并检查结果是否为相同的对象?(使用==
进行比较) - Mark Jeronimus