Как изменить имя временного файла по умолчанию для Apache POI SXSSFWorkbook - PullRequest
0 голосов
/ 01 апреля 2019

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

Может кто-нибудь указать мне на пример или наметить мне, что должно быть сделано?Я вижу, что есть статический метод TempFile.createTempFile.Должен ли я выполнить это с использованием переопределения класса перед созданием экземпляра класса SXSSFWorkbook?Или после?

Я также увидел, что существует класс DefaultTempFileCreationStrategy.Не могу найти примеры того, как использовать это либо.

1 Ответ

0 голосов
/ 02 апреля 2019

Основным классом, который Apache POI использует для этого, является TempFile

Метод, который вы хотите вызвать: TempFile.setTempFileCreationStrategy

Что вам нужно сделать, это создать свой собственный класс, реализующий интерфейс TempFileCreationStrategy .Это красиво и просто, всего два метода: createTempDirectory и createTempFile .

Чтобы понять, что с этим связано, вы можете посмотреть на источниккод для DefaultTempFileCreationStrategy онлайн здесь .Это довольно просто, просто вставьте логику для собственных нужд с точки зрения потоков и имен.

...