Я ищу эффективный способ проверить, существуют ли файлы, которые имеют имя файла определенного шаблона.
Примеры использования подстановочных знаков:
- ????. *
- ???????. *
- *. Png
- *. Jpg
Примеры использования регулярных выражений:
- [012] {4}. *
- [012] {7}. *
Проблема в том, что каталог, который я должен проверить, содержит до 500.000 файлов.Единственный известный мне способ выполнить такие тесты - это использовать методы класса File :
String[] list()
String[] list(FilenameFilter filter)
File[] listFiles()
File[] listFiles(FileFilter filter)
File[] listFiles(FilenameFilter filter)
Проблема в том, что в основном все они реализованы одинаково: сначала вызовlist () для получения всех доступных файлов и применения к ним фильтра.
Представьте себе, что произойдет, если мы захотим применить это к папке, содержащей 500.000 файлов ...
Если есть какая-либо альтернатива в Java для полученияимя файла первого соответствующего файла, относящегося к файлам в каталоге без нумерации их всех?
Если JNI - единственный вариант - есть ли библиотека, которая может сделать это с помощью предварительно скомпилированных двоичных файлов дляшесть основных платформ (Linux, Windows и OSX, каждая 32 и 64-битная)?