Javaでファイル属性の値をアトミックに設定する必要があります。方法を見つけました
Path Files.setAttribute(Path path, String attribute, Object value, LinkOption... options)
ただし、ドキュメントには、値がアトミックに設定されることが指定されていません。やり方を教えてください。
Javaでファイル属性の値をアトミックに設定する必要があります。方法を見つけました
Path Files.setAttribute(Path path, String attribute, Object value, LinkOption... options)
ただし、ドキュメントには、値がアトミックに設定されることが指定されていません。やり方を教えてください。
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();
}
}