我正在尝试将文件放在目录(The system property user.home)/.plantgrower/logs
中。文件夹.myprogram
不存在,我想用它的子文件夹创建它。这是我的代码:
File f = new File(System.getProperty("user.home") + File.pathSeparatorChar + ".plantgrower" + File.pathSeparatorChar + "logs");
System.out.println(f.mkdirs());
但是,输出为false
,并且未创建文件夹。我不明白为什么会这样做。
另一个奇怪的事情:我已经为user.home
(在我的情况下为/home/matthieu
)设置了为每个人写作和阅读的权限,但f.canWrite()
输出false
。
答案 0 :(得分:5)
您希望File.separatorChar
不是File.pathSeparatorChar
。
File.separatorChar
(/)用于分隔路径组件,例如:
/Users/myuser/folder1
File.pathSeparatorChar
(:)用于分隔多个路径,例如:
/Users/myuser/folder1:/Users/myuser/folder2
实际字符取决于操作系统。