Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 锁定整个目录,直到程序结束_Java_File_Locking - Fatal编程技术网

Java 锁定整个目录,直到程序结束

Java 锁定整个目录,直到程序结束,java,file,locking,Java,File,Locking,我想使用Java锁定整个目录,直到程序结束,但我仍然想从程序中写入文件(因此我想拒绝对其他程序的写入访问)。有什么方法可以做到这一点吗?使用file.setWritable(false,false);这将阻止写入文件夹有没有使用NIO的方法?程序结束后我必须解锁目录吗?还是它会自动解锁?它不起作用。我可以使用windows explorer.try文件.setExecutable(false)删除该目录;setReadable文件(false);file.setWritable(false);还

我想使用Java锁定整个目录,直到程序结束,但我仍然想从程序中写入文件(因此我想拒绝对其他程序的写入访问)。有什么方法可以做到这一点吗?

使用file.setWritable(false,false);这将阻止写入文件夹

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