Получение списка обработчиков файлов в проекте eclipse rcp - PullRequest
0 голосов
/ 27 сентября 2011

Я разрабатываю приложение RCP. В рабочей области проекта я получаю обработчики файлов / папок известных файлов мне getFile(String name) и getFolder(String name) методами.

Есть ли метод, который возвращает массив / список файлов, который соответствует регулярному выражению? (Вроде getFiles("*.txt")).

EDIT: Это работает.

IResource members[] = aFolder.members();
for (int i = 0; i < members.length; i++) {
    if (members[i].getName().endsWith(".java")) {
        //Do something
    }
}

1 Ответ

0 голосов
/ 22 апреля 2012

Если вы знаете, что все файлы / папки являются непосредственными потомками указанной папки - aFolder выше - тогда ваш код в порядке (см. Примечание ниже).

Но если вы хотите получить доступ к файлам на любом уровне дерева, я бы порекомендовал использовать конструкцию посетителя: IResource.accept(IResourceProxyVisitor visitor, int memberFlags). Существует несколько различных версий этой версии, поэтому лучше проверить, какие из них лучше соответствуют вашим потребностям.

Примечание: Одним из преимуществ IResourceProxyVisitor над другими методами и над явной версией, которую вы показали, является тот факт, что эта версия не проверяет файловую систему, существует ли ресурс или нет и, следовательно, это очень быстро.

...