我正在寻找获得目录修改日期的方法。我试过了:
File dir = new File(myDir);
long mod = dir.lastModified();
但它返回0。
我也在寻找一种方法来设置目录的最后修改日期但没有找到任何东西。
有记录的方法吗?
答案 0 :(得分:3)
修改强> 您的代码看起来正确,只需检查目录是否存在..
public long lastModified ()
返回上次修改此文件的时间,以1970年1月1日午夜以来的毫秒数为单位。 如果文件不存在,则返回0.
因此,只需检查您的文件是否存在..
<强> CODE:强>
要从文件中获取上次修改日期,
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();
}
答案 1 :(得分:0)
对象dir返回的long变量需要使用您的示例进行如下转换。
File dir = new File(myDir);
long mod = dir.lastModified();
Date lastModify = new Date(mod);
对于日期设置,请尝试setLastModified(长时间)功能。
供参考,Java链接@ Java 1.7
答案 2 :(得分:-1)
我希望你的myDir包含目录路径
以下代码段为我工作
File file1 = new File(getFilesDir().getAbsolutePath());
Log.i("text", "" + file1.lastModified());