Vì trong Java không có phương thức nào để lấy ngày tạp file trong java. Tuy nhiên, bạn có thể sử dụng cách giải quyết sau để có được ngày tạo file trên hệ điều hành Windows.
Ý tưởng :
Sử dụng cmd trên Windows, gõ lệnh để liệt kê ngày tạo file.Gõ lệnh như sau:
dir E:\project\huongdanjava\javaio\newFile.txt /tc Volume in drive E is STUDY Volume Serial Number is A828-2208 Directory of E:\project\huongdanjava\javaio 06/06/2017 12:13 AM 23 newFile.txt 1 File(s) 23 bytes 0 Dir(s) 23,773,351,936 bytes free
” 06/06/2017 12:13” là những gì chúng ta cần. Ý tưởng là sử dụng Java ” Runtime.getRuntime ().Exec ” để thực hiện lệnh trên, giữ đầu ra, và phân tích nó theo dòng cho đến khi bạn nhận được ngày và thời gian.
Thí dụ hướng dẫn lấy ngày tạo file trong Java :
Trong ví dụ này, nó sẽ nhận được ngày tạo của file (E:\project\huongdanjava\javaio\newFile.txt).
package com.itphutran.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 E:\\project\\huongdanjava\\javaio\\newFile.txt"); 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(); } } }
Kết quả:
Extracted value : 06/06/2017 01:03 AM 23 newFile.txt Creation Date : 06/06/2017 Creation Time : 01:03