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;
}
}
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"。以上方法返回的是我实际程序需要的数据格式,大家有兴趣可以自行改编