我有spring mvc应用程序,我需要将准备好的文件返回给用户,以响应用户的请求。 流程:
我的解决方案:我的服务器上有基本的zip文件,当用户发出请求时,我会将基本文件复制到tmp文件->我将tmp文件解压缩->进行修改->再将其压缩->返回到用户。
问题:如何在处理请求后确保tmp文件将被删除(即使VM中发生错误)?
同时有很多用户。
zip的大小超过100M。
答案 0 :(得分:1)
https://howtodoinjava.com/java/io/how-to-delete-temporary-file-in-java/
这里有一个很好的教程。确保您致电
ArrayList<Integer> arrList = new ArrayList<Integer>();
Flux.just(1, 2, 3, 4)
.log()
.map(i -> i * 2)
.subscribeOn(Schedulers.parallel())
.subscribe(
t -> {
System.out.println(t + " thread id: " + Thread.currentThread().getId());
arrList.add(t);
}
);
System.out.println("size of arrList(before the wait): " + arrList.size());
System.out.println("Thread id: "+ Thread.currentThread().getId() + ": id of main thread ");
Thread.sleep(100);
System.out.println("size of arrList(after the wait): " + arrList.size());
请求在虚拟机终止时删除此抽象路径名表示的文件或目录
请参见https://docs.oracle.com/javase/8/docs/api/java/io/File.html#deleteOnExit--