【问题标题】:folder not creating in linux through java program文件夹没有通过java程序在linux中创建
【发布时间】:2016-04-06 15:00:12
【问题描述】:

我正在尝试使用以下代码从战争中创建文件夹并在其中写入图像:

// 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;
    }
}

输出:创建目录失败。

【问题讨论】:

标签: java linux file


【解决方案1】:

您的absoluteDiskPath 不是绝对的。不确定这是否是故意的,但你在它前面缺少一个斜线。 另外,我猜你想要.mkdirs 而不是.mkdir。复数形式创建路径中的所有文件夹,单数形式只会创建最后一个,如果路径的其余部分不存在则失败。

即,如果您尝试创建文件夹“foo/bar/baz”,.mkdir 将失败,除非您在当前目录中已经有一个文件夹“foo”,其中包含一个名为“bar”的文件夹.

【讨论】:

  • 父目录已存在,我只想创建 travel_schedule
  • 那我猜,是缺少斜线的问题。您正在尝试在当前目录中创建此 patn,这几乎总是错误的。
  • 它们是两个不同的目录 /tmp/mjpics 而war在另一个目录中
  • 这与战争在哪里无关。
  • 为我工作 String absoluteDiskPath = "/tmp/mjpics/images/travel_schedule"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-13
  • 2018-03-26
  • 2011-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-30
相关资源
最近更新 更多