디렉토리에서 특정 확장자를 가진 파일 목록을 얻고 싶습니다. API (Java 6) File.listFiles(FileFilter)
에서이 작업을 수행 하는 방법 이 있습니다.
특정 확장자가 필요하기 때문에 FileNameExtensionFilter
. 그러나 이것을 사용할 때 컴파일 오류가 발생 listFiles
합니다. 이후 FileNameExtensionFilter implements FileFilter
로이 작업을 수행 할 수 있어야한다고 생각했습니다. 코드는 다음과 같습니다.
FileNameExtensionFilter filter = new FileNameExtensionFilter("text only","txt");
String dir = "/users/blah/dirname";
File f[] = (new File(dir)).listFiles(filter);
마지막 줄에는 컴파일 오류가 표시됩니다.
File 유형의 listFiles (FileNameFilter) 메소드는 FileNameExtensionFilter 유형의 인수에 적용 할 수 없습니다.
나는 사용하려고 listFiles(FileFilter)
하지 않습니다 listFiles(FileNameFilter)
. 컴파일러가 이것을 인식하지 못하는 이유는 무엇입니까?
이것은 내 자신의 확장 필터를 작성하면 작동합니다 FileFilter
. 나는 FileNameExtensionFilter
내 자신을 쓰는 것보다 차라리 사용하고 싶습니다. 내가 도대체 뭘 잘못하고있는 겁니까?