我正在尝试使用以下代码创建文件夹并在其中写入图像:
// war directory : /opt/apache-tomcat/webapps/mj.war
String absoluteDiskPath = "tmp/mjpics/images/travel_schedule";
File file = new File(absoluteDiskPath);
if (!file.exists()) {
if (file.mkdir()) {
System.out.println("Directory is created!");
try {
writeText(textcontent, textFileName, eventDate, eventCat, absoluteDiskPath+"\\"+eventCat+"\\"+eventName);
writeImage(imagecontent, imageFileName, eventDate, eventCat, absoluteDiskPath+"\\"+eventCat+"\\"+eventName);
imagecontent.close();
textcontent.close();
UplodedData.flush();
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
} else {
System.out.println("Failed to create directory!");
return false;
}
}
输出:无法创建目录。
答案 0 :(得分:3)
你的absoluteDiskPath
不是绝对的。不确定这是否是故意的,但你在它前面缺少斜线。
此外,我猜,您想要.mkdirs
而不是.mkdir
。复数形式创建路径中的所有文件夹,单数将仅创建最后一个文件夹,如果路径的其余部分不存在则失败。
即如果您尝试创建文件夹“foo / bar / baz”,.mkdir
将失败,除非您当前目录中已有一个文件夹“foo”,其中包含一个名为“bar”的文件夹它的。