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

加载中…