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

จะแสดงรายการไฟล์ที่ซ่อนอยู่ในไดเร็กทอรีใน Java ได้อย่างไร?


ListFiles() วิธีการส่งกลับอาร์เรย์ที่ถือวัตถุ (เส้นทางนามธรรม) ของไฟล์ทั้งหมด (และไดเรกทอรี) ในเส้นทางที่แสดงโดยวัตถุปัจจุบัน (ไฟล์)

อินเทอร์เฟซ 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[]) พ่น IOException {// การสร้างวัตถุไฟล์สำหรับไฟล์ไดเร็กทอรี directoryPath =ไฟล์ใหม่ ("D:\\ExampleDirectory"); // การสร้างตัวกรองสำหรับไฟล์ไดเรกทอรี FileFilter fileFilter =ใหม่ FileFilter () { บูลีนสาธารณะยอมรับ (ไฟล์ dir) { if (dir.isDirectory ()&&dir.isHidden ()) { คืนค่าจริง; } อื่น ๆ { คืนค่าเท็จ; } } }; ไฟล์[] list =directoryPath.listFiles(fileFilter); System.out.println("รายการไฟล์ jpeg ในไดเร็กทอรีที่ระบุ:"); สำหรับ (ชื่อไฟล์:รายการ) { System.out.println (ชื่อไฟล์.getName ()); System.out.println (ชื่อไฟล์); } }}

ผลลัพธ์

รายการไฟล์ jpeg ในไดเร็กทอรีที่ระบุ:hidden directory1D:\ExampleDirectory\hidden directory1hidden directory2D:\ExampleDirectory\hidden directory2

นอกจากนี้เรายังสามารถรับรายการไฟล์ที่ซ่อนอยู่โดยใช้เมธอด is Hidden() ของคลาสไฟล์ -

ตัวอย่าง

<ก่อนหน้า> นำเข้า java.io.File; นำเข้า java.io.IOException; นำเข้า java.util.Arrays; นำเข้า java.util.stream.Stream; สาธิตคลาสสาธารณะ { โมฆะสาธารณะหลัก (สตริง [] args) พ่น IOException { ไฟล์ dir =ไฟล์ใหม่ ("D:\\ExampleDirectory"); ไฟล์[] ไฟล์ =dir.listFiles(ไฟล์::isHidden); สตรีม <ไฟล์> fileStream =Arrays.stream (ไฟล์); fileStream.forEach(ไฟล์ -> System.out.println(file.getName())); }}

ผลลัพธ์

D:\ExampleDirectory\hidden directory1D:\ExampleDirectory\hidden directory2