ListFiles() মেথড একটি অ্যারে ফেরত দেয় যেটি করেন্ট (File) অবজেক্টের পাথে থাকা সব ফাইল (এবং ডাইরেক্টরি) এর অবজেক্ট (অবস্ট্র্যাক্ট পাথ) ধারণ করে।
File Filter ইন্টারফেস পাথ নেমের জন্য একটি ফিল্টার যা আপনি listFiles() মেথডে প্যারামিটার হিসেবে পাস করতে পারেন। এই মেথড পাস করা ফিল্টার অনুযায়ী ফাইল নেম ফিল্টার করে।
এক ফোল্ডারে ডাইরেক্টরি পেতে হলে, শুধু ডাইরেক্টরি এক্সেপ্ট (accept) করার একটি FileFilter ইমপ্লিমেন্ট করুন এবং তা listFiles() মেথডে প্যারামিটার হিসেবে পাস করুন।
ExampleDirectory-এর কন্টেন্টের স্ক্রিনশট:

উদাহরণ ১
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
public class MyExample {
public static void main(String args[]) throws IOException {
// ডাইরেক্টরি জন্য File অবজেক্ট তৈরি
File directoryPath = new File("D:\\ExampleDirectory");
// ডাইরেক্টরি ফাইল জন্য ফিল্টার তৈরি
FileFilter fileFilter = new FileFilter() {
public boolean accept(File dir) {
if (dir.isDirectory()) {
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\sample directory1 D:\ExampleDirectory\sample directory2 D:\ExampleDirectory\sample directory3 D:\ExampleDirectory\sample directory4
উদাহরণ ২ (NIO.2 ব্যবহার করে)
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 = Files.walk(Paths.get("D:\\ExampleDirectory"));
path = path.filter(Files::isDirectory);
path.forEach(System.out::println);
}
}
আউটপুট
D:\ExampleDirectory D:\ExampleDirectory\sample directory1 D:\ExampleDirectory\sample directory2 D:\ExampleDirectory\sample directory3 D:\ExampleDirectory\sample directory4