Как получить дату создания файла в Java

Как получить дату создания файла в Java

Официального способа узнать дату создания файла на Java не существует. Однако вы можете использовать следующий обходной путь, чтобы получить дату создания файла на платформе Windows.

Как это работает

В командной строке Windows введите команду, чтобы указать дату создания файла.

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

«31/05/2010 08:05» - это то, что вам нужно. Идея состоит в том, чтобы использовать Java «Runtime.getRuntime().exec» для выполнения указанной выше команды, удерживать вывод и анализировать его по строкам, пока вы не получите дату и время.

пример

В этом примере он получит дату создания файла (c: \ logfile.log).

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();

        }

    }
}

Результат

Extracted value : 31/05/2010  08:05  14 logfile.log
Creation Date  : 31/05/2010
Creation Time  : 08:05