gpt4 book ai didi

java - 如何保证文件会在一段时间后自动删除?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:11:47 26 4
gpt4 key购买 nike

<分区>

我必须在用户上传图片后将其存储几分钟,直到用户确认并将其存储在数据库中

所以我想创建一个临时文件并用它来显示预览。

但我必须确保如果用户不再交互,该文件将在一段时间后被删除

我找到了这篇关于临时文件以及如何自动删除它们的文章 https://softwarecave.org/2014/02/05/create-temporary-files-and-directories-using-java-nio2/

但如果我理解正确,deleteOnExit 和 ShutdownHook 将在 vm 关闭后调用,所以如果我的应用程序长时间保持在线,谢谢,这些文件永远不会被删除,并且 DELETE_ON_EXIT 选项将在我调用关闭方法时删除文件,所以如果我从不打电话,因为用户什么都不做,文件也永远不会被删除。是吗?

那么.. 有什么办法可以保证文件会在一段时间后自动删除?

我正在考虑创建一个带有 deleteOnExit 和 DELETE_ON_CLOSE 选项的文件,并添加到带有“超时”的线程,超时后检查文件是否仍然存在并删除,但我不知道是否存在最佳方法。

谢谢

更新

根据最佳答案,我开发了一个项目,以在 java.util.File 上添加此行为,用 Kotlin 编写。

https://github.com/vinicius-rob-cunha/kotlin-auto-delete-file

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com