2014-11-20 3 views
0

내가 디렉토리 예를 들어 루트 경로에 지정된 폴더에서 파일을 표시 할 필요가 안드로이드 장치의 내부 디렉토리에 지정된 폴더에서 파일 디렉토리 :/SDCARD/GDM/ 방법 이 폴더에서 파일을 나열 할 수 있습니까?나열하는 방법,

답변

0

File 클래스는 list() 방법을 제공합니다 :

이 추상 패스 명이 나타내는 디렉토리에있는 파일 및 디렉토리를 나타내는 스트링의 배열을 돌려줍니다. 이 추상 패스 명 가 디렉토리를 나타내지 않는 경우,이 메소드는 null를 돌려줍니다. 그렇지 않으면 디렉토리의 각 파일 또는 디렉토리에 하나씩 문자열 배열이 반환됩니다. 디렉토리 자체 및 디렉토리의 상위 디렉토리를 나타내는 이름은 결과에 포함되지 않습니다. 각 문자열은 완전한 경로가 아닌 파일입니다.

결과 배열 의 이름 문자열이 특정 순서로 표시된다는 보장은 없습니다. 특히 이 알파벳 순서로 표시되도록 보장되어 있지 않습니다.

File root = new File("/sdcard/GDM"); 
String[] files = root.list(); 
if(files != null){ 
// do something 
} 

업데이트 (들) :
파일의 크기를 얻으려면, 당신은 length() 방법이 필요합니다

그래서 코드는 같은 일이 될 것입니다. 크기 (바이트)를 반환합니다. 당신이 매크로 블럭에 그것을 얻고 싶은 경우에, 당신은 동안, 당신의 sdcard에서 파일 목록을 가져 오지 1024*1024

File f = new File("/path/to/some/file"); 
double sizeInMb = f.length()/(1024*1024); 
+0

그것을 분할해야합니다 목록. 그리고 나는 또한 클릭 할 때 파일을 열고 싶다. 도와주세요 –

+0

@visanthvichu 업데이트를 확인하십시오. 클릭시 파일을 여는 방법은 파일을 사용자에게 표시하는 방법에 따라 다릅니다. 목록에 있습니까? –

0

에 의해 내가 파일의 크기를 표시 할 수있는 방법

List<File> listFilesRoot = getFilesFromRoot(new File("YOUR PATH")); 


private List<File> getFilesFromRoot(File parentDir) { 
     ArrayList<File> listFiles = new ArrayList<File>(); 
     File[] files = parentDir.listFiles(); 
     for (File file : files) { 
      if (!file.isDirectory()) { 
        listFiles.add(file); 
      } 
     } 
     return listFiles; 
    } 
관련 문제