如何在java中自动设置文件属性的值?

时间:2014-11-30 10:12:10

标签: java atomic file-attributes

我需要在java中以原子方式设置file属性的值。我找到了方法

Path Files.setAttribute(Path path, String attribute, Object value, LinkOption... options)

但未指定文档将以原子方式设置该值。 请告诉我怎么做。

1 个答案:

答案 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();
        }
    }