我有这样的代码:
return (new File(pathA + File.separator + pathB + File.separator)).mkdir();
我相信它曾经有用,但它现在不起作用。该应用程序仅在Linux上运行,我们已经使用Mint 9,Ubuntu 10.04,Kubuntu 12.04等进行了测试。它不会创建目标目录。
该路径位于具有777权限的目录中。
堆栈跟踪不是很有帮助。因为跟踪显示了对java.security方法的几次调用,所以我认为这是一个权限问题。但实际的错误消息根本没有用(可能是因为代码中的异常处理需要改进)。
在Linux上用Java创建目录的最佳方法是什么?
答案 0 :(得分:3)
path + File.separator
提取到变量。 mkdir <INSERT THE PATH TO THE DIR THAT YOUR APP IS TRYING TO CREATE HERE>
这应该是你问题的根本原因。
如果这不能使答案显而易见,请在问题中添加所有其他证据。
答案 1 :(得分:2)
问题是在路径中我创建了多个级别的目录。解决方案是:
return (new File(pathA + File.separator + pathB + File.separator)).mkdirs();
注意mkdirs()上的“s”。