java - 如何防止用户删除 JVM 正在使用的文件

标签 java unix jvm rm

我有一段 JAVA 代码,它读取一些文件并将它们加载到内存中一段时间​​。读取后保留文件句柄。我的问题是我想限制用户使用“DEL”键或 rm 命令删除这些文件。

我可以通过保留文件句柄在 Windows 上实现相同的效果,而在 Unix 上 rm 不遵守对文件的锁定。我什至尝试了 Filechannel.lock() 但它也没有帮助。

如有任何建议,我们将不胜感激。

最佳答案

只要您打开句柄,他们就可以从目录中删除文件,但无法删除文件。也就是说,在您关闭文件或您的进程终止之前,文件不会被删除。

I even tried Filechaanel.lock() but it did not help either.

那是因为它是目录,而不是被更改的文件。例如如果他们对文件有写入权限但对目录没有写入权限,则他们无法删除它。

关于java - 如何防止用户删除 JVM 正在使用的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14709579/

相关文章:

java - 如何使用正则表达式从该行中提取子字符串

java - 无法点击 webelement 按钮

java - Jmap 错误 "More than one non-option argument"

java - 如何在 Linux 中为我的 Java 项目创建 Windows 安装程序?

linux - 捆绑给定目录及其子目录下的所有文件内容

java - JVM 执行应用程序时是否多次读取 jar 文件?

java - Java相关的Native内存是如何被清除的。我了解 GC 不会清除它

unix - 根据从另一个文件中选择的标题从文件中提取列

unix - 我何时或应该在文件或目录上使用chmod g + s?

java - 可以用 Go 编写 Intellij 插件吗?