Bir dizinde belirli bir uzantıya sahip dosyaların bir listesini almak istiyorum. API'de (Java 6) File.listFiles(FileFilter)bunu yapacak bir yöntem görüyorum .
Belirli bir uzantıya ihtiyacım olduğu için, bir FileNameExtensionFilter. Ancak listFilesbununla kullandığımda bir derleme hatası alıyorum . O zamandan beri FileNameExtensionFilter implements FileFilterbunu yapabileceğimi varsaydım . Kod aşağıdaki gibidir:
FileNameExtensionFilter filter = new FileNameExtensionFilter("text only","txt");
String dir = "/users/blah/dirname";
File f[] = (new File(dir)).listFiles(filter);
Son satır bir derleme hatasını gösterir:
yöntem listFiles (FileNameFilter), File türünde FileNameExtensionFilter türündeki bağımsız değişkenler için geçerli değildir
Kullanmaya çalışıyorum listFiles(FileFilter), değil listFiles(FileNameFilter). Derleyici bunu neden tanımıyor?
Bu, kendi uzantı filtremi genişletme yazarsam çalışır FileFilter. FileNameExtensionFilterKendi yazımı yazmaktansa kullanmayı tercih ederim. Neyi yanlış yapıyorum?