java - 如何在虚拟机退出后创建临时文件并删除

标签 java spring spring-mvc

我有 spring mvc 应用程序,我需要将准备好的文件返回给用户作为对他的请求的响应。 流程:

  1. 用户提出请求
  2. 根据请求的数据(json等),我需要获取一个zip文件,打开zip内的txt文件,更改文件中的某些内容。
  3. 返回修改后的 zip。

我的解决方案:我的服务器上有基本的zip文件,当用户发出请求时,我将基本文件复制到tmp文件 ->我解压缩tmp文件 ->进行修改 ->再次压缩 ->返回到用户。

问题:如何确保在处理请求后删除 tmp 文件(即使虚拟机中发生错误)?

同时有很多用户。

zip大小超过100M。

最佳答案

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

这里有一个很好的教程。确保您调用

File.deleteOnExit();

Requests that the file or directory denoted by this abstract pathname be deleted when the virtual machine terminates

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

关于java - 如何在虚拟机退出后创建临时文件并删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54217124/

相关文章:

java - Spring boot,可能导致View无法解决的问题

java - 使用 Spring 测试框架模拟服务的预期结果

Spring SimpleMappingExceptionResolver 不会进入默认 View

java - 如何按日期对以 TreeMap 作为值的 ArrayList 进行排序

java - 我的 Android 偏好设置存在布局问题

java - 无法找出缺少返回语句的错误

spring 事务管理 Propagation.REQUIRES_NEW 不起作用

java - 将 spring boot jar 转换为 war

java - 具有路径变量的 URL 模式的 Spring 过滤器

java - 在 Java 中测试两个 JSON 对象的相等性并忽略子顺序