這應該做的伎倆。它將在7天前創建一個日曆實例,並比較文件的修改日期是否在該時間之前。如果這意味着文件大於7天。
if(file.exists()){
Calendar time = Calendar.getInstance();
time.add(Calendar.DAY_OF_YEAR,-7);
//I store the required attributes here and delete them
Date lastModified = new Date(file.lastModified());
if(lastModified.before(time.getTime()))
{
//file is older than a week
}
file.delete();
}else{
file.createNewFile();
}
如果你想獲得一個目錄中的所有文件,你可以使用它,然後迭代結果並比較每個文件。
public static ArrayList<File> getAllFilesInDir(File dir) {
if (dir == null)
return null;
ArrayList<File> files = new ArrayList<File>();
Stack<File> dirlist = new Stack<File>();
dirlist.clear();
dirlist.push(dir);
while (!dirlist.isEmpty()) {
File dirCurrent = dirlist.pop();
File[] fileList = dirCurrent.listFiles();
for (File aFileList : fileList) {
if (aFileList.isDirectory())
dirlist.push(aFileList);
else
files.add(aFileList);
}
}
return files;
}
創建文件臨時存儲屬性聽起來像一個壞主意,如果你的屬性是數字或字符串。 將數據存儲在SQL數據庫中可能更加高效和實用。 – Christian 2014-09-12 11:46:36
這些文件的尺寸很小 我不知道這些文件的數量是否會增加,並且使用相對較小的內存空間填充設備的內存,這會產生問題。 僅用於此目的我想刪除這些文件。 – 2014-09-12 11:50:01