linux - 无法查看从java创建的目录

时间:2013-06-30 22:29:18

标签: java linux tomcat web-applications

我正在使用以下代码在Linux下创建一个目录:

String dir = "~/tempDir/";
if (!IOUtils.createDirectory(dir)) {
    throw new IOException("could no create the local store directory: "
            + dir );
}

LOGGER.info("local store successfully created.");

应用程序似乎创建了目录,因为我没有错误,它工作正常。 问题是我在磁盘上看不到这个目录;我在我的主目录中查找。 我需要提一下,这是一个在tomcat下运行的java Web应用程序。

有谁知道为什么我看不到这个目录?

2 个答案:

答案 0 :(得分:6)

这不起作用,因为您的shell ~bash或其他任何内容展开了sh。这不适用于Java。

您已在工作目录中创建了名为~的目录。

您需要从系统属性user.home获取用户的主目录,并从中构建路径。

final File dir = new File(System.getProperty("user.home"), "tempDir");

答案 1 :(得分:0)

如果已经存在具有指定名称的文件夹,则以下将在Home下创建“新建文件夹”

final String homePath = System.getProperty("user.home") + "/";
final String folderName = "New Folder";

File file = new File(homePath + folderName);

if (!file.exists())
    file.mkdir();

另一个选项(我应该说是一个更好的选项)你使用另一个File的构造函数,它采用父路径和子路径,如下所示:

final String homePath = System.getProperty("user.home");
final String folderName = "New Folder";

File file = new File(homePath, folderName);

if (!file.exists())
    file.mkdir();