2016-09-25 4 views
2

私はこのコードを試してみましたが、完全なパスを提供しています。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のようなファイル変数にパスを変更して、この1を試してみてください:\ 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

私がしたいですJava 8で実装する、これはJava 8の前にあります。Java 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

注: 'Files.list'によって返されたストリームを閉じる必要があります。リソースを試してみてください。 –

関連する問題