Java 获得File文件的创建时间(Windows)
(2011-11-08 10:04:36)
标签:
杂谈 |
分类: Android技术 |
在File的方法中,只能直接获取文件的最后修改日期,而且是以ms作为计量单位的,没有直接获取文件创建日期的方法,那是不是意味着JAVA不能获取文件的创建时间呢,答案是否定的,作为全球用使用人数最多的编程语言JAVA,完全可以获取我们所需要的任何信息,下面就是JAVA获取文件创建日期的代码:
import java.io.*;
public class getCreateFileTime {
}
Java7的新特性方法:
package com.test; import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.StringTokenizer; public class GetFileCreateTime { public static String getFileCreateDate(File _file) { File file = _file; try { Process ls_proc = Runtime.getRuntime().exec( "cmd.exe /c dir " + file.getAbsolutePath() + " /tc"); BufferedReader br = new BufferedReader(new InputStreamReader(ls_proc.getInputStream())); for (int i = 0; i < 5; i++) { br.readLine(); } String stuff = br.readLine(); StringTokenizer st = new StringTokenizer(stuff); String dateC = st.nextToken(); String time = st.nextToken(); String datetime = dateC.concat(time); br.close(); return datetime; } catch (Exception e) { return null; } } public static int getDaysBetweenDate(Date d1, Date d2){ int days; days = (int) ((d1.getTime() - d2.getTime())/(24*60*60*1000)); return days; } public static void main(String[] args){ //指定文件 File file = new File("D://安装工具//aalf.dat"); //获取创建日期 String time = GetFileCreateTime.getFileCreateDate(file); SimpleDateFormat d = new SimpleDateFormat("yyyy-MM-ddhh:mm"); Date date = null; try { date = d.parse(time); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } //打印时间间隔 System.out.println(getDaysBetweenDate(new Date(), date)); } }