How to get the file creation date in Java

There are no official way to get the file creation date in Java. However, you can use the following workaround to get the file creation date in Windows platform.

How it work

In Windows command prompt, type the command to list the file creation date.

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

The “31/05/2010 08:05” is what you need. The idea is use the Java “Runtime.getRuntime().exec” to execute the above command, hold the output, and parse it by lines until you get the date and time.


In this example, it will get the creation date of file (c:\\logfile.log).

package com.mkyong.file;
import java.util.StringTokenizer;
public class GetFileCreationDateExample
    public static void main(String[] args)
    		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){


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

About the Author

Founder of and, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.