Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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 Io - Fatal编程技术网

如何在java中检查目录的写入权限?我们能改变它吗?

如何在java中检查目录的写入权限?我们能改变它吗?,java,file-io,Java,File Io,我正在使用下面的代码,但它不起作用。方法canWrite()不起作用,即使更改了目录的写入权限 File file = new File(fc.getSelectedFile().getAbsolutePath()); // fc is a FileChooser object if(f.canWrite()) { // write access } else { // no write access } 我也尝试过: try { AccessController.ch

我正在使用下面的代码,但它不起作用。方法
canWrite()
不起作用,即使更改了目录的写入权限

File file = new File(fc.getSelectedFile().getAbsolutePath());
// fc is a FileChooser object
if(f.canWrite()) 
{
  // write access
} 
else 
{
  // no write access
}
我也尝试过:

try 
{
    AccessController.checkPermission(new FilePermission("/tmp/*", "read,write"));
    System.out.println("Good");
    // Has permission
}
catch (SecurityException e) 
{
// Does not have permission
System.out.println("Bad");
}
File.canWrite()
方法的行为与其规范所述的应:

返回:
true
当且仅当文件系统实际包含由该抽象路径名表示的文件,并且允许应用程序写入该文件时<代码>错误否则

(重点补充)

它返回的是
false
,因为对象不是文件



如果您使用的是Java7(或更高版本),一种解决方案是检索相关属性以确定访问权限。请注意,您使用的属性可能是特定于操作系统的。(我相信谷歌可以为您找到一些例子。)

要更改权限,请查看此链接:-“”