2010-12-06 25 views
8

私は基本的なファイルブラウザを作成していて、ディレクトリ内の各ファイルの最終更新日を取得したいとします。どうすればいい?私はすでに各ファイルの名前とタイプ(すべてが配列に格納されています)を持っていますが、最終更新日も必要です。 java.io.FileのjavadocのようにJavaでファイルの最終更新日を取得する

答えて

12

new File("/path/to/file").lastModified()

3

のJava 7ので、あなたは使用することができjava.nio.file.Files.getLastModifiedTime(Path path)

private static void printFileTime(FileTime fileTime) { 
    DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy - hh:mm:ss"); 
    System.out.println(dateFormat.format(fileTime.toMillis())); 
} 
printFileNameは次のように見ることができ

Path path = Paths.get("C:\\1.txt"); 

FileTime fileTime; 
try { 
    fileTime = Files.getLastModifiedTime(path); 
    printFileTime(fileTime); 
} catch (IOException e) { 
    System.err.println("Cannot get the last modified time - " + e); 
} 

出力

10/06/2016 - 11:02:41 
+0

答えが正しいとも説明しているが、長い時代遅れと悪名高い厄介 'SimpleDateFormat'クラスを使用するように若いものを教えないでください。代わりに、Java 8以降では、 'FileTime.toInstant()'を使用して 'Instant'を' ZonedDateTime'に変換し、 'DateTimeFormatter'を使ってそれを出力するかフォーマットするだけです。 –

関連する問題