使用 Mac 在 Eclipse 中编译以下代码后:
import java.io.*;
public class Filer{
public static void main(String[] args) throws IOException{
File f1;
f1 = new File("/System/file.txt");
if(!f1.exists()){
f1.createNewFile();
}
}
}
我收到错误:
Exception in thread "main" java.io.IOException: Permission denied
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:883)
at Filer.main(Filer.java:11)
谁能告诉我这是为什么?有什么办法可以更改权限吗?如果我将其编译为 .jar 文件并将其发送给某人,该人是否拥有正确的权限?
谁能告诉我这是为什么?
您的用户无权在该目录中创建文件。
有什么办法可以更改权限吗?
与更改任何目录的权限相同。
在 Java 7+ 中
Files.setPosixFilePermisions(f1.toPath(),
EnumSet.of(OWNER_READ, OWNER_WRITE, OWNER_EXECUTE, GROUP_READ, GROUP_EXECUTE));
如果我将其编译为 .jar 文件并将其发送给某人,该人是否拥有正确的权限?
我怀疑名为的目录的正确权限/System
是你没有写访问权限。
有什么理由不使用主目录或当前工作目录?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)