Пока вы не создаете тысячи CSV-файлов одновременно, время загрузки не имеет значения с моей точки зрения.Базы данных обычно выводят данные построчно, и если это уже тот формат, который вам нужен для файла CSV, я настоятельно рекомендую вообще не использовать временные файлы - просто выполните преобразование на лету:
СоздайтеРеализация InputStream, которая считывает данные базы данных построчно, преобразует их в CSV и публикует данные с помощью методов read ().
Кстати: вы упомянули, что преобразование выполняется веб-приложением и можетдолгое время - это может быть проблематично, так как у веб-клиента по умолчанию есть тайм-аут.Поэтому длительный процесс должен лучше выполняться фоновым потоком, запускаемым только интерфейсом веб-приложения.