如何列出 Java 中目錄中的隱藏檔案?


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

File Filter 介面是您可以作為引數傳遞給 listFiles() 方法的路徑名稱的過濾器。此方法過濾器透過傳入的過濾器傳入的檔名。

要獲取資料夾中的隱藏目錄,請實現一個僅接受隱藏目錄的 FileFilter,並將其作為引數傳遞給 listFiles() 方法。

示例

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
public class Test{
   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.isDirectory()&& dir.isHidden()) {
               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.getName());
         System.out.println(fileName);
      }  
   }
}

輸出

List of the jpeg files in the specified directory:
hidden directory1
D:\ExampleDirectory\hidden directory1
hidden directory2
D:\ExampleDirectory\hidden directory2

我們還可以使用 Files 類的 is Hidden() 方法獲得隱藏檔案列表 -

示例

import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.stream.Stream;
public class Demo {
   public static void main(String[] args) throws IOException {
       File dir = new File("D:\ExampleDirectory");
       File[] files = dir.listFiles(File::isHidden);
       Stream <File> fileStream = Arrays.stream(files);
       fileStream.forEach(file -> System.out.println(file.getName()));
    }
}

輸出

D:\ExampleDirectory\hidden directory1
D:\ExampleDirectory\hidden directory2

更新於: 08-Feb-2021

703 次瀏覽

開啟您的 職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.