public static String getFileCreateDate(File _file){
File file=_file;
try
{
log.debug(file.getAbsolutePath());
Process ls_proc = Runtime.getRuntime().exec("cmd.exe /c dir "" + file.getAbsolutePath() + "" /tc");
DataInputStream in = new DataInputStream(ls_proc.getInputStream());
for (int i = 0; i < 5; i++ )
{
in.readLine();
}
String stuff = in.readLine();
StringTokenizer st = new StringTokenizer(stuff);
String dateC = st.nextToken();String time=st.nextToken();
in.close();
return dateC;
}catch (Exception e)
{
log.error(e);
return null;
}
}实现的办法是通过windows本地命令行来取得创建日期。以上代码主要取自http://forum.java.sun.com/thread.jspa?threadID=311281&messageID=1247450
但此文提供的原始代码尚有不足,无法解析带有空格的文件夹名,如:C://Program files/等,解决办法是在路径前后加上",执行语句变为"cmd.exe /c dir "" + file.getAbsolutePath() + "" /tc"。以上方法返回的是我实际程序需要的数据格式,大家有兴趣可以自行改编
本文介绍了一种在Windows环境下获取文件创建时间的Java方法。由于JDK本身未提供直接获取文件创建时间的功能,该方法通过调用Windows命令行工具来实现这一需求,并解决了路径中含有空格的问题。

489

被折叠的 条评论
为什么被折叠?



