如何使用 Java 列出目錄中的所有檔案(僅限檔案)?


listFiles() 方法返回一個數組,其中包含當前 (File) 物件表示的路徑中的所有檔案(和目錄)的物件(抽象路徑)。

檔案過濾器介面是路徑名的過濾器,可以將其作為引數傳遞給 listFiles() 方法。此方法會過濾傳給所傳過濾器的檔名。

要獲取資料夾中的檔案,請實現一個僅接受檔案的檔案過濾器,並將其作為引數傳遞給 listFiles() 方法。

以下是 ExampleDirectory 內容的螢幕截圖

示例

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
public class Demo{
   public static void main(String args[]) throws IOException {
    //Creating a File object for directory
    File directoryPath = new File("D:\ExampleDirectory");
    //Creating filter for directories files
    FileFilter fileFilter = new FileFilter(){
         public boolean accept(File dir) {          
            if (dir.isFile()) {
               return true;
            } else {
               return false;
            }
         }
      };        
      File[] list = directoryPath.listFiles(fileFilter);
      System.out.println("List of the jpeg files in the specified directory:");  
      for(File fileName : list) {
         System.out.println(fileName);
      }  
   }
}

輸出

List of the jpeg files in the specified directory:
D:\ExampleDirectory\demo1.pdf
D:\ExampleDirectory\demo2.pdf
D:\ExampleDirectory\sample1.txt
D:\ExampleDirectory\sample2.txt
D:\ExampleDirectory\sample3.txt
D:\ExampleDirectory\sample_jpeg1.jpg
D:\ExampleDirectory\sample_jpeg2.jpg
D:\ExampleDirectory\test1.docx
D:\ExampleDirectory\test2.docx

示例

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Stream;
public class ListOfFiles {
   public static void main(String[] args) throws IOException {
      Stream<Path> path = Files.walk(Paths.get("D:\ExampleDirectory"));
      path = path.filter(Files::isRegularFile);
      path.forEach(System.out::println);
    }
}

輸出

D:\ExampleDirectory\demo1.pdf
D:\ExampleDirectory\demo2.pdf
D:\ExampleDirectory\sample1.txt
D:\ExampleDirectory\sample2.txt
D:\ExampleDirectory\sample3.txt
D:\ExampleDirectory\sample_jpeg1.jpg
D:\ExampleDirectory\sample_jpeg2.jpg
D:\ExampleDirectory\test1.docx
D:\ExampleDirectory\test2.docx

更新日期: 2021 年 02 月 08 日

2 千 + 次瀏覽

開啟你的職業生涯

完成課程後取得認證

開始
廣告
© . All rights reserved.