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

จะรับไดเร็กทอรี (เท่านั้น) จากโฟลเดอร์โดยใช้ Java ได้อย่างไร


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

อินเทอร์เฟซ File Filter เป็นตัวกรองสำหรับชื่อพาธที่คุณสามารถส่งผ่านเป็นพารามิเตอร์ไปยังเมธอด listFiles() เมธอดนี้กรองชื่อไฟล์ที่ส่งผ่านตัวกรองที่ส่งผ่าน

ในการรับไดเร็กทอรีในโฟลเดอร์ ให้ใช้ FileFilter ซึ่งรับเฉพาะไดเร็กทอรีและส่งผ่านเป็นพารามิเตอร์ไปยังเมธอด listFiles()

ต่อไปนี้เป็นภาพหน้าจอของเนื้อหาของ ExampleDirectory

จะรับไดเร็กทอรี (เท่านั้น) จากโฟลเดอร์โดยใช้ Java ได้อย่างไร

ตัวอย่าง

import java.io.File;import java.io.FileFilter;import java.io.IOException; myExample คลาสสาธารณะ { public static void main (String args[]) พ่น IOException { // การสร้างวัตถุไฟล์สำหรับไฟล์ไดเร็กทอรี directoryPath =ไฟล์ใหม่ ("D:\\ExampleDirectory"); // การสร้างตัวกรองสำหรับไฟล์ไดเรกทอรี FileFilter fileFilter =ใหม่ FileFilter () { บูลีนสาธารณะยอมรับ (ไฟล์ dir) { if (dir.isDirectory ()) { คืนค่าจริง; } อื่น ๆ { คืนค่าเท็จ; } } }; ไฟล์[] list =directoryPath.listFiles(fileFilter); System.out.println("รายการไฟล์ jpeg ในไดเร็กทอรีที่ระบุ:"); สำหรับ (ชื่อไฟล์:รายการ) { System.out.println (ชื่อไฟล์); } }}

ผลลัพธ์

รายการของไฟล์ jpeg ในไดเร็กทอรีที่ระบุ:D:\ExampleDirectory\sample directory1D:\ExampleDirectory\sample directory2D:\ExampleDirectory\sample directory3D:\ExampleDirectory\sample directory4

ตัวอย่าง

<ก่อน> นำเข้า java.io.IOException; นำเข้า java.nio.file.Files; นำเข้า java.nio.file.Path; นำเข้า java.nio.file.Paths; นำเข้า java.util.stream.Stream; คลาสสาธารณะ ListOfFiles { โมฆะคงที่สาธารณะหลัก (สตริง [] args) พ่น IOException { สตรีม <เส้นทาง> เส้นทาง =Files.walk (Paths.get ("D:\\ExampleDirectory")); เส้นทาง =path.filter (ไฟล์ ::isDirectory); path.forEach(System.out::println); }}

ผลลัพธ์

D:\ExampleDirectoryD:\ExampleDirectory\sample directory1D:\ExampleDirectory\sample directory2D:\ExampleDirectory\sample directory3D:\ExampleDirectory\sample directory4