Java 如何清理在servlet中创建并返回给用户的临时文件?

Java 如何清理在servlet中创建并返回给用户的临时文件?,java,servlets,temporary-files,Java,Servlets,Temporary Files,我有一个servlet,它执行以下操作: 用户调用servlet Servlet代码调用web服务从Adobe Live Cycle服务器下载PDF文件 将该PDF保存到临时文件中 调用ps2pdf14将该PDF转换为古老的PDF 1.4版本(这将创建第二个临时文件) 返回file2的内容作为响应 清理这些文件的最佳方法是什么 批处理 有什么想法吗 选择不多- 发送响应后立即删除文件 运行后台(内务管理)作业(某些守护进程线程),定期删除此类临时文件 不要向磁盘写入任何内容,在内存中执行转换操作

我有一个servlet,它执行以下操作:

  • 用户调用servlet
  • Servlet代码调用web服务从Adobe Live Cycle服务器下载PDF文件
  • 将该PDF保存到临时文件中
  • 调用ps2pdf14将该PDF转换为古老的PDF 1.4版本(这将创建第二个临时文件)
  • 返回file2的内容作为响应
  • 清理这些文件的最佳方法是什么

    批处理

    有什么想法吗

    选择不多-

  • 发送响应后立即删除文件
  • 运行后台(内务管理)作业(某些守护进程线程),定期删除此类临时文件
  • 不要向磁盘写入任何内容,在内存中执行转换操作,并将修改后的内容直接返回给用户(不确定这是否可行)

  • 你说-发送响应后立即删除文件hmmm-这需要我先将整个文件放入内存吗?不需要,只需在发送响应后使用API删除文件即可。类似于-newfile(“filename”).delete()的内容;只需确保文件句柄为null。也就是说,如果您正在读取该文件,请将其关闭并将文件句柄设置为null,否则它不会删除该文件。