2012-04-06 2 views
1

Android를 사용하고 있습니다. Adobe Reader가 내 모든 개인 .pdf 파일을 나열하고 QQ 음악이 내 모든 음악 파일을 자동으로 찾을 수 있다는 사실에 영감을 받았습니다. 그리고 그들은 내 SD 카드에있는 다른 .mp3 또는 .pdf 파일 (벨소리와 같은 많은 .mp3 파일이있을 수 있음)과 혼동하지 않습니다. 같은 일을 어떻게 할 수 있습니까? 나는 검색이나 다른 방법으로 사용자의 개인 파일을 얻지 만 성가신 시스템/소프트웨어 파일을 제거합니다.안드로이드에서 유용한/개인 파일을 얻으려면 어떻게해야합니까?

답변

1

먼저 무엇이 필터를 실제로 원하는지 알고 싶습니다. 미디어 파일? 오디오 파일 만? 문서 만 있습니까? 그러면 우리가 더 잘 대답 할 수 있습니다.

FileNameFilter 인터페이스를 사용하십시오. 참조 링크 : FileNameFilter Example.

샘플 코드가 같은 것을 읽 아래 정의 OnlyExt 클래스입니다

public class DirListOnly { 
    public static void main(String args[]) { 
    String dirname = "/java"; 
    File f1 = new File(dirname); 
    FilenameFilter only = new OnlyExt("html"); 
    String s[] = f1.list(only); 
    for (int i=0; i < s.length; i++) { 
    System.out.println(s[i]); 
    } 
} 
} 

.

public class OnlyExt implements FilenameFilter { 
    String ext; 
public OnlyExt(String ext) { 
    this.ext = "." + ext; 
    } 
public boolean accept(File dir, String name) { 
    return name.endsWith(ext); 
    } 
} 

이제 원하는 필터 (예 : .mp3 또는 .pdf 또는 원하는 필터)를 입력 할 수 있습니다.

+0

그러나 accept()에서 어떤 요소를 검사해야합니까? 법이나 다른 것이 있습니까? 아니면 혼자서 생각해야합니까? –

+1

이 링크는 질문에 대답 할 수 있지만 답변의 핵심 부분을 여기에 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. – Mun0n

+1

@jmunoz : 고마워요. 내 대답을 편집했습니다. – Rajkiran

관련 문제