我有Spring mvc应用程序,我需要将准备好的文件返回给用户作为对他的请求的响应。流程:
- 用户发出请求
- 根据请求的数据(json 等),我需要获取一个 zip 文件,在 zip 内打开 txt 文件,更改文件中的某些内容。
- 返回修改后的拉链。
我的解决方案:我的服务器上有基本 zip 文件,当用户发出请求时,我将基本文件复制到 tmp 文件 -> 我解压缩 tmp 文件 ->进行修改 ->再次压缩它 ->返回给用户。
问题:如何确保在处理请求后删除 tmp 文件(即使 VM 中发生错误)?
同时有许多用户。
拉链的大小超过100M。
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--