Как создать временный файл в и удалить после выхода из ВМ - PullRequest
0 голосов
/ 16 января 2019

У меня есть приложение Spring mvc, и мне нужно вернуть подготовленный файл пользователю в ответ на его запрос. Поток:

  1. пользователь делает запрос
  2. Основываясь на данных запроса (json и т. Д.) Мне нужно взять zip-файл, открыть там txt-файл внутри zip, изменить что-то в файле.
  3. Вернуть измененный почтовый индекс.

Мое решение: у меня на сервере есть базовый zip-файл, когда пользователь делает запрос, я копирую базовый файл в файл tmp -> я распаковываю файл tmp -> делаю изменения -> снова архивирую -> возвращаюсь к пользователь.

Проблема: Как убедиться, что файл tmp будет удален после того, как я обработаю запрос (даже если ошибка произошла в ВМ)?

Есть много пользователей одновременно.

Размер почтового индекса составляет более 100 м.

1 Ответ

0 голосов
/ 16 января 2019

https://howtodoinjava.com/java/io/how-to-delete-temporary-file-in-java/

здесь у вас есть хороший учебник. Убедитесь, что вы звоните

File.deleteOnExit();

Запрашивает удаление файла или каталога, обозначенного этим абстрактным путем, когда завершается работа виртуальной машины

См. https://docs.oracle.com/javase/8/docs/api/java/io/File.html#deleteOnExit--

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...