我正在製作一個應用程序,我必須刪除SD卡中最近添加的mp3文件。其中的歌曲被保存的格式爲:從android中刪除SD卡中的文件
Songhello_17_26.amr
其中17_26是當加入歌曲的時間。任何人都可以幫助我如何刪除最近添加的SD卡中的文件。我的意思是說我想刪除時間意味着最新添加的文件應該被刪除。 任何幫助將不勝感激。
我正在製作一個應用程序,我必須刪除SD卡中最近添加的mp3文件。其中的歌曲被保存的格式爲:從android中刪除SD卡中的文件
Songhello_17_26.amr
其中17_26是當加入歌曲的時間。任何人都可以幫助我如何刪除最近添加的SD卡中的文件。我的意思是說我想刪除時間意味着最新添加的文件應該被刪除。 任何幫助將不勝感激。
由於它規定here,你不能直接這樣做,你首先需要獲得的文件File.listFiles()
,Comparator
,File.lastModified()
,Arrays.sort()
和刪除的列表。
編輯:
File f = new File(path);
File [] files = f.listFiles();
Arrays.sort(files, new Comparator()
{
public int compare(Object o1, Object o2) {
if (((File)o1).lastModified() > ((File)o2).lastModified()) {
return -1;
} else if (((File)o1).lastModified() < ((File)o2).lastModified()) {
return +1;
} else {
return 0;
}
}
});
要刪除最新一個:
files[0].delete();
試試這個
public String[] getDirectoryList(String path) {
String[] dirListing = null;
File dir = new File(path);
dirListing = dir.list();
Arrays.sort(dirListing, 0, dirListing.length);
return dirListing;
}
String[] lstFile = getDirectoryList()
if(lstFile.length > 0){
File file = new File(lstFile[0]);
boolean fStatus = file.delete();
}
我剛剛給這個例子,但我有動態文件,我不知道名稱,我想按時間刪除文件意味着最新的條目應該刪除 – Aditya1510 2012-04-17 12:21:28
我接受@hotveryspicy建議。 '文件。listFiles(),比較器,File.lastModified(),Arrays.sort()'這必須做 – Piraba 2012-04-17 12:35:57
**試試這個方法:
public static boolean deleteDirectory(File path) {
// TODO Auto-generated method stub
if(path.exists()) {
File[] files = path.listFiles();
for(int i=0; i<files.length; i++) {
enter code here if(files[i].isDirectory()) {
deleteDirectory(files[i]);
}
else {
files[i].delete();
}
}
}
return(path.delete());
}
,或者您可以使用下面的代碼從SD卡中刪除文件:
File folder = Environment.getExternalStorageDirectory(); String fileName = folder.getPath() + "/pass/hello.pdf";
與
String fileName = Environment.getExternalStorageDirectory() + "/pass/hello.pdf";**
試試這個太:
String root_sd = Environment.getExternalStorageDirectory().toString();
File file = new File(path) ;
File list[] = file.listFiles();
for(File f:list)
{
name = file.getName();
filestv.setText(f.getName());
//add new files name in the list
// delete.setText(name);
的代碼,你可以看到最新的文件保存在SD卡中,我建議你沿着這個tutorial。
您的鏈接非常好,但你可以請幫助我適當的示例code.Your的幫助將不勝感激 – Aditya1510 2012-04-17 12:26:34
請參閱編輯的答案。 – 2012-04-17 12:37:38
在您的代碼的幫助下,我能夠獲得所有mp3文件的列表,現在可以請您告訴我如何刪除最新條目 – Aditya1510 2012-04-17 12:55:23