So erhalten Sie das Dateierstellungsdatum in Java
Es gibt keine offizielle Möglichkeit, das Dateierstellungsdatum in Java abzurufen. Sie können jedoch die folgende Problemumgehung verwenden, um das Erstellungsdatum der Datei auf der Windows-Plattform abzurufen.
Wie es funktioniert
Geben Sie an der Windows-Eingabeaufforderung den Befehl ein, um das Erstellungsdatum der Datei aufzulisten.
C:\>cmd /c dir c:\logfile.log /tc Volume in drive C has no label. Volume Serial Number is 0410-1EC3 Directory of c:\ 31/05/2010 08:05 14 logfile.log 1 File(s) 14 bytes 0 Dir(s) 35,389,460,480 bytes free
Das "31/05/2010 08:05" ist das, was Sie brauchen. Die Idee ist, mit Java "Runtime.getRuntime().exec" den obigen Befehl auszuführen, die Ausgabe zu halten und sie nach Zeilen zu analysieren, bis Sie Datum und Uhrzeit erhalten.
Beispiel
In diesem Beispiel wird das Erstellungsdatum der Datei (c: \ logfile.log) abgerufen.
package com.example.file; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class GetFileCreationDateExample { public static void main(String[] args) { try{ Process proc = Runtime.getRuntime().exec("cmd /c dir c:\\logfile.log /tc"); BufferedReader br = new BufferedReader( new InputStreamReader(proc.getInputStream())); String data =""; //it's quite stupid but work for(int i=0; i<6; i++){ data = br.readLine(); } System.out.println("Extracted value : " + data); //split by space StringTokenizer st = new StringTokenizer(data); String date = st.nextToken();//Get date String time = st.nextToken();//Get time System.out.println("Creation Date : " + date); System.out.println("Creation Time : " + time); }catch(IOException e){ e.printStackTrace(); } } }
Ergebnis
Extracted value : 31/05/2010 08:05 14 logfile.log Creation Date : 31/05/2010 Creation Time : 08:05