使用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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
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)
Run Code Online (Sandbox Code Playgroud)
谁能告诉我为什么会这样?有没有办法更改权限?如果我将其编译为.jar文件并将其发送给某人,那么该人是否拥有正确的权限?
Pet*_*rey 10
谁能告诉我为什么会这样?
您的用户无权在该目录中创建文件.
有没有办法更改权限?
与更改任何目录的权限的方式相同.
在Java 7+中
Files.setPosixFilePermisions(f1.toPath(),
EnumSet.of(OWNER_READ, OWNER_WRITE, OWNER_EXECUTE, GROUP_READ, GROUP_EXECUTE));
Run Code Online (Sandbox Code Playgroud)
如果我将其编译为.jar文件并将其发送给某人,那么该人是否拥有正确的权限?
我怀疑被调用目录的正确权限/System是您没有写访问权限.
有没有理由不使用主目录或当前工作目录?
| 归档时间: |
|
| 查看次数: |
22353 次 |
| 最近记录: |