Есть ли обходной путь для низкой производительности Java при обходе огромных каталогов?

Я пытаюсь обрабатывать файлы по одному, которые хранятся в сети. Чтение файлов происходит быстро, потому что буферизация отсутствует, он выдает. Проблема у меня просто перечисление каталогов в папке. У меня есть по крайней мере 10 тыс. Файлов в папке во многих папках.

Производительность очень низкая, так как File.list () возвращает массив вместо итерируемого. Java отключается, собирает все имена в папке и упаковывает их в массив перед возвратом.

Запись об ошибке для этогоhttp://bugs.sun.com/view_bug.do;jsessionid=db7fcf25bcce13541c4289edeb4?bug_id=4285834 и не имеет работы вокруг. Они просто говорят, что это было исправлено для JDK7.

Несколько вопросов:

У кого-нибудь есть обходной путь к этому узкому месту производительности?Я пытаюсь достичь невозможного? Будет ли производительность по-прежнему плохой, даже если она просто перебирает каталоги?Могу ли я использовать бета-версии JDK7, в которых есть эта функциональность, без необходимости строить на нем весь мой проект?

Ответы на вопрос(10)

Ваш ответ на вопрос