我需要在java中以原子方式设置file属性的值。我找到了方法
Path Files.setAttribute(Path path, String attribute, Object value, LinkOption... options)
但未指定文档将以原子方式设置该值。 请告诉我怎么做。
答案 0 :(得分:0)
FileLock可以是一个解决方案:
Path path = new File("C:/Test/test.txt").toPath();
FileChannel fc = FileChannel.open(path, StandardOpenOption.WRITE);
FileLock lock = fc.tryLock();
if (lock != null) {
try {
FileTime fileTime = FileTime.fromMillis(0);
Files.setAttribute(path, "basic:creationTime", fileTime, LinkOption.NOFOLLOW_LINKS);
} finally {
lock.release();
}
}