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