【发布时间】:2013-01-03 00:19:21
【问题描述】:
使用 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 文件并将其发送给某人,该人是否拥有正确的权限?
【问题讨论】:
-
不是任何人都可以在文件系统的任何位置写入。
/System看起来像 OS X,它归 root 所有,他是唯一可以在那里写的人。也许选择了另一个目录?