Поиск файлов в каталогах

156
30 декабря 2021, 21:40

Задача: найти файлы в каталоге и подкаталогах, и сохранить в папку result.

В чём проблема: всего файлов 86000, а id, по которым нужно искать 3500(у меня массив их). Не могу найти оптимизированный код, чтобы смог быстро выполнить задачу(писал на VBS скрипт, но там неделю буду решать эту задачу).

У меня есть папка, в ней ещё 12 папок, в каждой из папок примерно по несколько тысяч файлов.

Можете показать какой-нибудь рабочий код для поиска и сохранения схожих файлов в отдельную папку? Буду благодарен.

Answer 1
  1. Вместо массива ID используйте Set<>. Это позволит ускорить проверку на существование ID
  2. Если этого будет недостаточно, то распаралельте задачу. Создайте пул из нескольких потоков (но не больше, чем ядер процессора) и пусть каждый поток ищет файлы в одной папке

Количество ядер в системе можно узнать, вызвав функцию

Runtime.getRuntime().availableProcessors();
READ ALSO
Отказоустойчивое логирование log4j

Отказоустойчивое логирование log4j

Логирую приложение через log4j2, аппендером выступает logstashИногда из-за сетевых проблем на машине с logstash или с наплывом логов на него, он отказывается...

165
CSS хак или отдельный CSS для Opera

CSS хак или отдельный CSS для Opera

Подскажите, какие сейчас существуют CSS хаки для Оперы v 650

188