Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

แสดงรายชื่อไฟล์/โฟลเดอร์ Hidden ใน Directory ด้วย Java

วิธีที่ 1: ใช้ FileFilter กับ listFiles()

import java.io.*;

public class Test {
    public static void main(String args[]) throws IOException {
        File directoryPath = new File("D:\\ExampleDirectory");

        FileFilter hiddenDirFilter = f -> f.isDirectory() && f.isHidden();
        File[] list = directoryPath.listFiles(hiddenDirFilter);

        System.out.println("Hidden Directories:");
        for (File f : list) {
            System.out.println(f.getName());
            System.out.println(f.getAbsolutePath());
        }
    }
}

วิธีที่ 2: ใช้ Files.isHidden() + Stream (NIO.2)

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); // Static method reference
        Stream fileStream = Arrays.stream(files);
        fileStream.forEach(f -> System.out.println(f.getAbsolutePath()));
    }
}

ผลลัพธ์ตัวอย่าง

Hidden Directories:
hidden directory1
D:\ExampleDirectory\hidden directory1
hidden directory2
D:\ExampleDirectory\hidden directory2

หมายเหตุ

  • File::isHidden ตรวจสอบทั้ง File และ Directory ที่เป็น Hidden
  • FileFilter ใช้กับ listFiles() สำหรับ Directory เท่านั้น ต้องเช็ค isDirectory() เพิ่ม
  • NIO.2 Files.isHidden(Path) ใช้กับ Path ได้โดยตรง