Гость
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос новичка / 2 сообщений из 2, страница 1 из 1
02.12.2003, 10:28
    #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
02.12.2003, 17:59
    #32341163
SmaLL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос новичка
метод accept() вызывается методом dir.listFiles

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


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