ディレクトリの変更日を取得する方法を探しています。私はもう試した:
File dir = new File(myDir);
long mod = dir.lastModified();
しかし、それは0を返しています。
ディレクトリの最終変更日を設定する方法も探していますが、何も見つかりませんでした。
これらを行うための文書化された方法はありますか?
編集: あなたのコードは正しく見えます、ただディレクトリの存在をチェックしてください。
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();
}
myDirにディレクトリのパスが含まれていることを願っています
次のスニペットは私のために働きます
File file1 = new File(getFilesDir().getAbsolutePath());
Log.i("text", "" + file1.lastModified());
オブジェクトdirによって返されるlong変数は、例を使用して、以下のように変換する必要があります。
File dir = new File(myDir);
long mod = dir.lastModified();
Date lastModify = new Date(mod);
日付の設定については、関数setLastModified(long Time)を試してください。
参考までに、Javaリンク@ Java 1.7