Java Desktop Application - как получить список файлов с похожими именами файлов в определенной папке - PullRequest
2 голосов
/ 02 октября 2011

У меня есть Java-приложение для настольного компьютера, в котором на промежуточном этапе генерируются некоторые файлы со следующими именами файлов

file-01-1.xml
file-01-2.xml
file-01-3.xml

and so on.

Количество файлов с такими именами является переменным, я хочу определить общее количество файлов с указанным выше именем, чтобы я мог затем продолжить обработку этих файлов. (Эти файлы генерируются командой DOS, которая не дает количество файлов, сгенерированных в ее выводе / количество генерируемых файлов варьируется в зависимости от входного файла, отсюда и эта проблема).

Ответы [ 3 ]

3 голосов
/ 02 октября 2011

Вы можете реализовать чистое решение Java, используя File.list(), File.listFiles(), комбинируя их с FileFilter.Оба метода возвращают массивы, поэтому вы можете получить длину массива для получения количества файлов.

Этот метод может быть неэффективным, если количество файлов очень велико (например, тысячи).В этом случае я бы предложил вам реализовать решение для конкретной платформы, выполнив внешнюю команду, такую ​​как sh ls file* | wc -l.

2 голосов
/ 02 октября 2011

Использовать File.listFiles (FilenameFilter) или аналогичные методы.

2 голосов
/ 02 октября 2011

Вы можете использовать пользовательский FilenameFilter при перечислении файла в выходной папке. Смотри: http://download.oracle.com/javase/6/docs/api/java/io/File.html#list%28java.io.FilenameFilter%29

...