Tôi muốn nhận danh sách các tệp có phần mở rộng cụ thể trong một thư mục. Trong API (Java 6), tôi thấy một phương pháp File.listFiles(FileFilter)
sẽ thực hiện điều này.
Vì tôi cần một tiện ích mở rộng cụ thể, tôi đã tạo một FileNameExtensionFilter
. Tuy nhiên, tôi gặp lỗi biên dịch khi sử dụng listFiles
với điều này. Tôi cho rằng kể từ đó FileNameExtensionFilter implements FileFilter
, tôi sẽ có thể làm được điều này. Mã sau:
FileNameExtensionFilter filter = new FileNameExtensionFilter("text only","txt");
String dir = "/users/blah/dirname";
File f[] = (new File(dir)).listFiles(filter);
Dòng cuối cùng hiển thị lỗi biên dịch:
phương thức listFiles (FileNameFilter) trong loại Tệp không áp dụng cho các đối số thuộc loại FileNameExtensionFilter
Tôi đang cố gắng sử dụng listFiles(FileFilter)
, không phải listFiles(FileNameFilter)
. Tại sao trình biên dịch không nhận ra điều này?
Điều này hoạt động nếu tôi viết mở rộng bộ lọc tiện ích mở rộng của riêng mình FileFilter
. Tôi muốn sử dụng FileNameExtensionFilter
hơn là viết của riêng tôi. Tôi đang làm gì sai?