Java 锁定整个目录,直到程序结束
我想使用Java锁定整个目录,直到程序结束,但我仍然想从程序中写入文件(因此我想拒绝对其他程序的写入访问)。有什么方法可以做到这一点吗?使用file.setWritable(false,false);这将阻止写入文件夹有没有使用NIO的方法?程序结束后我必须解锁目录吗?还是它会自动解锁?它不起作用。我可以使用windows explorer.try文件.setExecutable(false)删除该目录;setReadable文件(false);file.setWritable(false);还是没有。要在一个文件而不是整个目录上尝试它,也许这样行。编辑:不,它不起作用。您所要求的与正在使用的操作系统和文件系统有关,因此一种方法是将所有者更改为您自己的用户,并拒绝对组和其他人的权限。你为什么要这样做?也许你应该用另一种方式处理你的挑战。@MortenKristensen我正在存储临时文件,但实际上我并没有打开任何输入/输出流。这就是我想锁定它的原因。锁定取决于操作系统,记住这一点。我仍然会相应地设置权限,以防止其他人进行更改,或者保持文件打开(请注意,在这里,操作系统仍然扮演着其他人是否也可以这样做的角色)。Java 锁定整个目录,直到程序结束,java,file,locking,Java,File,Locking,我想使用Java锁定整个目录,直到程序结束,但我仍然想从程序中写入文件(因此我想拒绝对其他程序的写入访问)。有什么方法可以做到这一点吗?使用file.setWritable(false,false);这将阻止写入文件夹有没有使用NIO的方法?程序结束后我必须解锁目录吗?还是它会自动解锁?它不起作用。我可以使用windows explorer.try文件.setExecutable(false)删除该目录;setReadable文件(false);file.setWritable(false);还