2016-09-25 2 views
2

Java 8의 폴더에서 유일한 파일 이름을 나열하려고합니다.이 코드를 시도했지만 완전한 경로를 제공하고 있습니다.java8의 폴더에서 유일한 파일 이름을 가져 오는 방법

try { 
    List<java.nio.file.Path> files  = Files.list(new File("F://csv/").toPath()) 
       .filter(p -> !p.getFileName() 
       .toString().startsWith(".")) 
       .limit(3) 
       .collect(Collectors.toList()); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

답변

3

C와 같은 파일 변수에 경로를 변경,이 하나를 시도 : \ DIR

File folder = new File("Dir path"); 
    File[] listOfFiles = folder.listFiles(); 

     for (int i = 0; i < listOfFiles.length; i++) { 
      if (listOfFiles[i].isFile()) { 
      System.out.println(listOfFiles[i].getName()); 
      } 
     } 
+0

내가 원하는 자바 8 구현, 이것은 자바 8 이전에있다. 제발 자바 8에 말해. –

+0

그것도 Java8와 함께 작동. –

+0

네, Java 8에서는 작동하지만 Java 8에서는 작동하지 않습니다. –

4

사용 Path::getFileName를 경로에서 파일 이름을 얻을 :

import static java.util.stream.Collectors.toList; 

List<Path> fileNames = Files.list(Paths.get("f:/csv")) 
          .filter(...) 
          .limit(...) 
          .map(Path::getFileName) 
          .collect(toList()); 
+3

Note :'Files.list'에 의해 반환 된 Stream을 닫아야합니다. 자원을 사용해보십시오. –

관련 문제