java中只能用java.io.File获得文件的最后修改时间,如下:
比如我在D盘有个文件夹a,现在要获取其创建时间:
File file = new File("D:\\a")
long time = file.lastModified()//返回文件最后修改时间,是以个long型毫秒数
String ctime = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date(time))
System.out.println(ctime)
想要获得文件的创建时间,那么只能用java去掉命令实现了,若为windows系统,想要拿到创建时间必须依赖Windows系统的API,通过调CMD命令实现, 代码如下:
public static void main(String[] args) {try {
Process p = Runtime.getRuntime().exec("cmd /C dir d:\\test.txt /tc")
InputStream is = p.getInputStream()
BufferedReader br = new BufferedReader(new InputStreamReader(is))
String str
int i = 0
while ((str = br.readLine()) != null) {
i++
if (i == 6) {
System.out.println(str.substring(0, 17))
}
}
} catch (java.io.IOException exc) {
exc.printStackTrace()
}
}
可以通过File流的lastModified方法获取到修改时间的。举例:public static void getModifiedTime(){
File f = new File("C:\\test.txt")
Calendar cal = Calendar.getInstance()
long time = f.lastModified()
cal.setTimeInMillis(time)
System.out.println("修改时间: " + cal.getTime().toLocaleString())
}
结果:修改时间:2015-06-29 10:32:38
File file = new File("文件路径")long time = file.lastModified()//返回此抽象路径名表示的文件最后一次被修改的时间。
Date date = new Date(time)//转换成Date类型, 接下来自己操作