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

Dee*_*uja 4 java unix jvm rm

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

我可以通过保留文件句柄在Windows上实现相同的功能,而在Unix上,rm不支持​​对文件的锁定.我甚至试过Filechannel.lock()但它也没有帮助.

任何建议表示赞赏.

Pet*_*rey 5

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

我甚至尝试过Filechaanel.lock(),但它也没有帮助.

那是因为它是目录,而不是正在改变的文件.例如,如果他们对文件具有写访问权但对目录没有删除权限.