java - Tomcat 在请求完成时删除文件?

标签 java tomcat delete-file apache-commons-fileupload

我遇到了一个非常奇怪的问题。我正在使用 commons-fileupload (1.2.1) 来处理我的 webapp 中的文件上传(托管在 tomcat 7.0.23 中,并且设置了 distributable 标志)。从我的 DiskFileItemFactory(没有 FileCleaningTracker)获得一个 DiskFileItem 实例后,我使用它的 write 方法来存储文件(在 DiskFileItemFactory 被配置为使用的同一目录中,以防需要在文件流入时将文件写入磁盘)。问题是这个新文件(由我明确创建和命名)在请求处理完成后被删除。可以想象,当我需要再次访问该文件时,这是有问题的。

看起来可能相关的花絮:

  • 有问题的目录不是来自 servlet 上下文的默认临时目录,也不在 Tomcat 目录下。
  • 在备用代码路径中,我立即复制了该文件(不是在不同的请求中),并且那个副本没有被删除。
  • 即使我在请求完成之前chmod a-w 文件,它仍然会在请求完成时被删除。

感谢您的帮助。

最佳答案

罪魁祸首呢? 9 多年前的流浪 finalize 方法进行“清理”。

关于java - Tomcat 在请求完成时删除文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9612594/

相关文章:

java - 如何从 CVS 中删除文件?

java.sql.SQLException : Access denied for user 'xx@xx.xx' (using password: YES) appearing 2 years after installation 异常

java - 通过java在linux中的终端上执行命令

java - JUnit测试扫描文件夹类

hibernate - 找不到 FieldInterceptionHelper 类

tomcat - 使用 mod_proxy 将调用从 apache2 重定向到 tomcat 时出现问题

java - 如何检查是否在 JavaFX ComboBox 中选择了任何项目

java - 在哪里可以找到适用于 Windows 的 32 位服务器 jre

file-io - 删除目录vb6内的所有文件

c - 尝试删除文件时获取权限被拒绝错误