So erhalten Sie das Datum der Dateierstellung in Java

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