powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос новичка
2 сообщений из 2, страница 1 из 1
вопрос новичка
    #32340274
neoplan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только разбираюсь с Java и вот не могу понять
Вот я вызываю так список файлов в папке,
соответствующих определенному критерию - который реализован методом accept определенного в интерфейсе FileFilter :
File[] fList =dir.listFiles(new
ExtFilter(args[1]));

Сам класс ExtFilter реализован так

public class ExtFilter implements FileFilter
{

String ext;

ExtFilter(String ext)
{
this.ext = ext;
}

public boolean accept(File pathname) // этот
//метод явно в первом файле не
//вызывается вообще -
//где ж он берет pathname?
{
String extension = getExtension(pathname);
return extension.equals(ext);
}

private String getExtension(File pathname)
{
String filename = pathname.getPath();
int i = filename.lastIndexOf('.');
if ( i>0 && i<filename.length()-1 )
{
return filename.substring(i+1).toLowerCase();
}
return "";
}
и главное оно работает - но почему вызов конструктора ExtFilter(args[1]) должен вызывать метод accept()???????
...
Рейтинг: 0 / 0
вопрос новичка
    #32341163
Фотография SmaLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
метод accept() вызывается методом dir.listFiles

Если не понятно, то посмотри исходники этих классов
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос новичка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]