2013-12-23 2 views
2

저는 Android 프로그래밍을 처음 사용합니다.
나는 getExternalStorageDirectory()
를 사용하여 내 넥서스 장치에있는 파일의 경로를 얻으려고하지만 모든Android getExternalStorageDirectory가 파일을 반환하지 않습니다.

코드에서 어떤 파일을 반환 :

File path = new File(Environment.getExternalStorageDirectory() +""); 
path.mkdirs(); 
if (path.exists()) { 
FilenameFilter filter = new FilenameFilter() { 
      @Override 
      public boolean accept(File dir, String filename) { 
       File sel = new File(dir, filename); 
       // Filters based on whether the file is hidden or not 
       return (sel.isFile() || sel.isDirectory()) 
        && !sel.isHidden(); 

      } 
     }; 
String[] fList = path.list(filter); 
// flist return null 
} 
+0

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>"을 추가 하시겠습니까? – TheLittleNaruto

+0

나는 다운로드 또는 이미지와 같은 폴더를 가져오고 싶습니다. null을 반환하려고합니다. 모든 파일과 디렉토리를 탐색하고 싶습니다. –

답변

5

귀하의 경우와 마찬가지로 모든 데이터를 가져올 수 있습니다 코드 다음을 수행하여 :

ArrayList<String> filesList = new ArrayList<String>(); 
String sd_card = Environment.getExternalStorageDirectory().toString(); 
file = new File(sd_card) ;  
File list[] = file.listFiles(); 
for(int i=0; i< list.length; i++) { 
    filesList.add(list[i].getName()); 
} 

지금 filesList 모든 파일의 목록을해야합니다, 당신은 당신의 필요에 따라 사용할 수 있습니다.

매니페스트에 권한을 추가하는 것을 잊지 마십시오 :

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 
+0

고맙습니다. 다시 시도해보고 되돌아 올께. –

+0

반환 경로 경로가 존재하지 않는 경로를 반환합니다. 넥서스가 SD 카드를 가지고 있지 않기 때문에 내부 매장을 얻을 수 있습니까? –

+1

코드 파일 경로 리턴/storeg/sdcard/external_SD를 사용할 때 경로를 잘못 입력했는지 확인합니다. 그러한 디렉토리가 없습니다. –

2

당신의 AndroidManifest.xml 당신이 얻을하려는 파일

+1

이 권한을 여전히 추가 할 수 있습니다. –

관련 문제