我正在寻找一种获取目录修改日期的方法。我试过了:
File dir = new File(myDir);
long mod = dir.lastModified();
但它返回 0。
我也在寻找一种方法来设置目录的最后修改日期,但没有找到任何东西。
有记录的方法来做这些吗?
编辑: 您的代码看起来正确,只需检查目录的存在..
public long lastModified ()
返回上次修改此文件的时间,以 1970 年 1 月 1 日午夜以来的毫秒数为单位。如果文件不存在,则返回 0。
所以只需检查您的文件是否存在..
代码:
从文件中获取上次修改日期,
File file = new File("Your file path");
Date lastModDate = new Date(file.lastModified());
Log.i("File last modified : "+ lastModDate.toString());
将上次修改日期设置为文件..
try{
File file = new File("/mnt/sdcard/temp.txt");
//print the original last modified date
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
Log.i("Original Last Modified Date : " , ""+sdf.format(file.lastModified()));
//set this date
String newLastModified = "01/06/2012";
//need convert the above date to milliseconds in long value
Date newDate = sdf.parse(newLastModified);
file.setLastModified(newDate.getTime());
//print the latest last modified date
Log.i("Lastest Last Modified Date : ", ""+sdf.format(file.lastModified()));
}catch(ParseException e){
e.printStackTrace();
}
我希望你的 myDir 包含目录的路径
以下片段对我有用
File file1 = new File(getFilesDir().getAbsolutePath());
Log.i("text", "" + file1.lastModified());
object dir 返回的 long 变量需要使用您的示例进行如下转换。
File dir = new File(myDir);
long mod = dir.lastModified();
Date lastModify = new Date(mod);
对于日期设置,请尝试函数 setLastModified( long Time )。
供参考,Java 链接@Java 1.7