我正在使用以下代码在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应用程序。
有谁知道为什么我看不到这个目录?
答案 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();