Java, IO - самый быстрый способ удалить файл

Моя проблема состоит в том, что у меня есть приложение, которое пишет много относительно (100-500kb) маленьких файлов CSV (десятки и сотни тысяч). Содержание тех файлов затем загружается в базе данных через sql вызов загрузчика (его дб оракула), и это - то, с чем я должен жить.

Так, я должен удалить те маленькие файлы время ко времени, чтобы препятствовать тому, чтобы они съели все пространство. Я хотел бы присоединить это к действию, которое пишет те файлы и загружает их в дб, поскольку последнее завершает шаг.

Мой Вопрос - как в Java можно удалить набор маленьких файлов с меньше служебным на производительности?

Заранее спасибо! Michael

17
задан Zorkus 28 July 2010 в 17:43
поделиться

3 ответа

Ну, file.delete () должно хватить (это внутренне реализовано как собственный метод)

13
ответ дан 30 November 2019 в 13:45
поделиться

Я бы посоветовал проверить библиотеку Apache Commons IO .У них есть несколько довольно полезных методов удаления файлов в классе FileUtils.

4
ответ дан 30 November 2019 в 13:45
поделиться

Вы можете обнаружить, что это на порядок быстрее, если вы заплатите и попросите систему удалить их. Вы должны быть в состоянии достичь точки остановки (когда файлы не обрабатываются), затем выйти и удалить "*" или . или что там у вас в ОС.

(Заметьте, это делает вашу программу ОЧЕНЬ зависимой от ОС!)

Убедитесь, что в Windows и Mac вы обходите функцию корзины!

Самое приятное в del . или rm * в том, что они ДОЛЖНЫ выполнять пакетную операцию, а не многократно открывать, изменять и закрывать каталог.

Вы также можете записывать имена файлов по схеме a001, a002, a003, ... и когда вы достигнете a999, вы перейдете в b001 и удалите a*.

2
ответ дан 30 November 2019 в 13:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: