Android:如何获得&设置目录修改日期

时间:2012-06-13 05:35:24

标签: android file directory

我正在寻找获得目录修改日期的方法。我试过了:

File dir = new File(myDir);
long mod = dir.lastModified();

但它返回0。

我也在寻找一种方法来设置目录的最后修改日期但没有找到任何东西。

有记录的方法吗?

3 个答案:

答案 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());