我有一段 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/