この質問のフォローアップとして-特に作成時間に関連し、新しいnioクラスを介してそれを取得することについて議論しているため-現在、JDK7の実装では運が悪いようです。補遺:OpenJDK7でも同じ動作です。
Unixファイルシステムでは、作成タイムスタンプを取得できません。最終変更時刻のコピーを取得するだけです。とても悲しいですが、残念ながら本当です。なぜなのかはわかりませんが、次のコードで示すように、コードはそれを具体的に実行します。
import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.*;
public class TestFA {
static void getAttributes(String pathStr) throws IOException {
Path p = Paths.get(pathStr);
BasicFileAttributes view
= Files.getFileAttributeView(p, BasicFileAttributeView.class)
.readAttributes();
System.out.println(view.creationTime()+" is the same as "+view.lastModifiedTime());
}
public static void main(String[] args) throws IOException {
for (String s : args) {
getAttributes(s);
}
}
}