2012-05-18 48 views
2

我有这样的代码:java.security错误时创建目录(Linux)的

return (new File(pathA + File.separator + pathB + File.separator)).mkdir(); 

我相信它用来工作,但现在无法正常工作。该应用程序仅在Linux上运行,我们已经用Mint 9,Ubuntu 10.04,Kubuntu 12.04等进行了测试。它不创建预期的目录。

该路径位于具有777权限的目录内。

堆栈轨道不是很有帮助。由于跟踪显示对java.security方法的几次调用,因此我认为这是一个权限问题。但实际的错误信息根本没有帮助(可能是因为代码中的异常处理需要改进)。

什么是在Linux上创建Java目录的最佳方式?

+6

请分享实际的错误信息。也许我们确实发现它们比你的模糊描述更有帮助。 '新的文件(路径).mkdir()'工作可能吗?额外的分隔符不应该是必需的。 –

+0

*“但实际的错误信息根本没有帮助(可能是因为代码中的异常处理需要改进)。”*所以改进它并复制/粘贴输出。 –

+1

即使没有证据,csi也无法工作。改进日志并带上它们,请 – Alfabravo

回答

2

问题是在我创建多个级别的目录的路径。解决方法是:

return (new File(pathA + File.separator + pathB + File.separator)).mkdirs(); 

注意mkdirs()上的“s”。

3
  • 提取path + File.separator为一个变量。
  • 打印出来到控制台
  • 开始在终端外壳和使用该应用程序正在运行的 mkdir <INSERT THE PATH TO THE DIR THAT YOUR APP IS TRYING TO CREATE HERE>

这应该给你的根本原因相同的用户帐户运行这个命令你问题。

如果这样不能使答案明显加上所有其他证据的问题。

+1

你是对的,我遗漏了一些重要的问题。我无意中忽略了有多个目录级别的事实。我解决了这个问题,并回答了解决方案。 – MountainX

相关问题