2012-04-17 4 views
3

최근 sdcard에서 추가 된 mp3 파일을 삭제해야하는 앱을 만들고 있습니다. 노래가 저장되는 형식은 다음과 같습니다android의 sdcard에서 파일 삭제하기

Songhello_17_26.amr 

어디 17_26이 곡이 추가 된 시간입니다. 아무도 내가 sdcard에서 최근에 추가 된 파일을 삭제하는 방법을 도울 수 있습니까? 나는 시간을 지우고 싶다는 말은 최근 추가 된 파일이 삭제되어야한다는 것을 의미한다. 도움이 될 것입니다.

답변

6

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(); 
+0

귀하의 링크는 매우 좋았지 만 적절한 샘플 코드를 보내 주시면 감사하겠습니다. 도움을 주시면 대단히 감사하겠습니다. – Aditya1510

+0

편집 된 답변보기 참조. –

+0

코드의 도움으로 모든 mp3 파일의 목록을 가져올 수있게되었습니다. 최신 항목을 삭제하는 방법을 알려주십시오. – Aditya1510

2

을 시도해보십시오이

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

    } 
+0

방금 ​​예제로 이것을주었습니다. 그러나 동적 파일을 가지고 있고 이름을 모르지만, 시간별로 파일을 삭제하고 싶습니다. 최신 항목이 삭제되어야 함을 의미합니다. – Aditya1510

+0

@hotveryspicy 제안을 수락합니다. '파일.listFiles(), Comparator, File.lastModified(), Arrays.sort()'이 작업을 수행해야합니다. – Piraba

3

**이 방법을 시도해보십시오

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()); 
} 
을 최신 파일을 볼 수 있습니다

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); 

그 코드를 :

String fileName = Environment.getExternalStorageDirectory() + "/pass/hello.pdf";** 
0

이 너무 이것을 시도

File folder = Environment.getExternalStorageDirectory(); String fileName = folder.getPath() + "/pass/hello.pdf";

과 :는

하거나 SD 카드에서 파일을 삭제하려면 다음 코드를 사용할 수 있습니다 sdcard에 저장되면, 나는이 tutorial을 따라 따라 올 것을 제안합니다.

관련 문제