2014-06-22 2 views
0

알려진 디렉토리에 이미지 이름 만 표시하려면 어떻게해야합니까? 시도 사용이 (from here)디렉토리에 이미지 이름 가져 오기

File sdCardRoot = Environment.getExternalStorageDirectory(); 
File yourDir = new File(sdCardRoot, "yourpath"); 
for (File f : yourDir.listFiles()) { 
    if (f.isFile()) 
     String name = f.getName(); 
     // make something with the name 
} 

하지만하지 작동합니다. 어떻게해야합니까?

+0

알려진 파일 이름 확장명 규칙의 필터가 있습니까? 그러나 그러한 연산을위한 메소드가 이미 일부 API에 존재하는지는 알 수 없습니다. 거기에 이미지가 저장된 기본 위치가 없었습니까? –

+0

나는 폴더 위치 만 알고 있으며이 폴더에는 .jpg 형식의 이미지라는 것을 알고 있습니다. – Roki20121

답변

0
private ArrayList<File> fileList = new ArrayList<File>(); 
      //getting SDcard root path 
      File root = new File(Environment.getExternalStorageDirectory() 
        .getAbsolutePath()); 
      getfile(root); 
      for (int i = 0; i < fileList.size(); i++) { 
       // getting file name 

       System.out.println(fileList.get(i).getName()); 
    if (fileList.get(i).isDirectory()) { 
                    teSystem.out.println("This is Directory not an image"); 
                } 



     } 

// getfile(file) method 

public ArrayList<File> getfile(File dir) { 
     File listFile[] = dir.listFiles(); 
     if (listFile != null && listFile.length > 0) { 
      for (int i = 0; i < listFile.length; i++) { 

       if (listFile[i].isDirectory()) { 
        fileList.add(listFile[i]); 
        getfile(listFile[i]); 

       } else { 
        if (listFile[i].getName().endsWith(".png") 
          || listFile[i].getName().endsWith(".jpg") 
          || listFile[i].getName().endsWith(".jpeg") 
          || listFile[i].getName().endsWith(".gif")) 

        { 
         fileList.add(listFile[i]); 
        } 
       } 

      } 
     } 
     return fileList; 
    } 

hope it will help your purpose. 
+0

시도. 이 "getfile (File) 메서드가 정의되지 않았습니다 ..." – Roki20121

+0

@ user2382720 지금 내 대답을 편집했습니다. –

+0

참고 사항 : Java 1.7부터이 재귀 알고리즘은 'SimpleFileVisitor'로 대체 될 수 있습니다. 방문자 내부에는 파일과 폴더를 별도로 처리하는 메서드가 있습니다. [documentation] (http://docs.oracle.com/javase/7/docs/api/java/nio/file/SimpleFileVisitor.html) 및 [some example] (http : //www.javapractices .com/topic/TopicAction.do? Id = 68)'Path'를 사용하여 –

관련 문제