1

ディレクトリの変更日を取得する方法を探しています。私はもう試した:

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

しかし、それは0を返しています。

ディレクトリの最終変更日を設定する方法も探していますが、何も見つかりませんでした。

これらを行うための文書化された方法はありますか?

4

3 に答える 3

4

編集: あなたのコードは正しく見えます、ただディレクトリの存在をチェックしてください。

public long lastModified ()

このファイルが最後に変更された時刻を返します。1970年1月1日午前0時からのミリ秒単位で測定されます。ファイルが存在しない場合は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();
    }
于 2012-06-13T05:53:24.503 に答える
0

myDirにディレクトリのパスが含まれていることを願っています

次のスニペットは私のために働きます

        File file1 = new File(getFilesDir().getAbsolutePath());
        Log.i("text", "" + file1.lastModified());
于 2012-06-13T05:56:24.460 に答える
0

オブジェクトdirによって返されるlong変数は、例を使用して、以下のように変換する必要があります。

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

日付の設定については、関数setLastModified(long Time)を試してください。

参考までに、Javaリンク@ Java 1.7

于 2012-06-13T05:57:56.017 に答える