1

Javaでファイル属性の値をアトミックに設定する必要があります。方法を見つけました

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

ただし、ドキュメントには、値がアトミックに設定されることが指定されていません。やり方を教えてください。

4

1 に答える 1

1

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();
        }
    }
于 2014-11-30T15:03:12.433 に答える