java - 创建FileOutputStream对象时由: java. io.FileNotFoundException :/path/somthing. jar(是目录)引起

标签 java jakarta-ee io create-directory

这是一个非常基本的问题,但它让我抓耳挠腮了 4 个小时,现在我放弃了。 为了提供尽可能多的信息,我可以说这是一个 java webapp 项目,在 ubuntu 11.04 下使用 zk 5.0.8 作为前端+spring+hibernate+maven,并将 basedir 权限设置为 777。

尝试了文件上传,一切似乎都正常,并且我确信我的代码是正确的,但它不起作用。

这是代码

private boolean saveUploadledFile(Media uploadedMedia, String basedir) {

    String code = codeGenerator.generateContentCode(15);
    String FINAL_DIR_PATH = basedir + "/"+"Racing" + "/" + code;
    String FINAL_FILE_PATH = FINAL_DIR_PATH + "/" + uploadedMedia.getName();
    alert(FINAL_DIR_PATH);
    try {
        File finaldir = new File(FINAL_DIR_PATH);
        //apache commons
        FileUtils.forceMkdir(finaldir);
        alert("Size equals" + uploadedMedia.getByteData().length);
        fout = new FileOutputStream(new File(FINAL_DIR_PATH+"/"+addContentWindow1$txtName.getText()+".jar"));
          //apache commons
          IOUtils.copy(uploadedMedia.getStreamData(), fout);

    } catch (IOException e) {
        throw new RuntimeException(e);
    } catch (Exception e) {
        throw new RuntimeException(e);
    } finally {
        try {
            IOUtils.closeQuietly(in);
            IOUtils.closeQuietly(fout);

        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

    return false;
}

new FileOutputStream 总是抛出异常。因此,如果我无法指定要保存的位置如何保存文件。有任何想法吗?我故意输出文件的大小以确保存在文件。任何人都可以透露一些信息吗?感谢您阅读本文

实际的异常是

Caused by: java.io.FileNotFoundException: /joseph/mbcs/Games/Racing/20314/somthing.jar (is a directory)

最佳答案

我可能错了,但这部分代码不是有问题吗?

     if (!finaldir.exists()) {
        if (!finaldir.canWrite())
            finaldir.mkdirs(); // this creates no directory no error
         else
             alert("Cannot write to the directory" );
     }

如果该目录不存在,则检查是否不能在那里写入,然后创建它,否则输出错误。我认为 ! 是错误的。

可能是您的问题的原因,但也可能不是。

关于java - 创建FileOutputStream对象时由: java. io.FileNotFoundException :/path/somthing. jar(是目录)引起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7926391/

相关文章:

java - 是否有不同的方法来编写此代码,使其不使用循环

java http请求所需的字符串参数 'Username'不存在

jakarta-ee - EJB3.1 属性文件注入(inject)

java - 使用具有字符串的额外列将数据从一个 Mysql 表传输到另一个表

java - 从 JAR 中的资源文件夹加载属性

io - 简单来说,阻塞IO和非阻塞IO是什么?

java - 带有 setBigDecimal 参数的 Java preparedStatement 引发 ORA-03115

java - JPA + EJB 对于 Internet 交易是否太慢(或太重)?

java - 在异步方法接缝中获取上下文参数

java - 有没有办法在Android(外部存储)上的我的文件中创建一个文件夹并将文件写入该文件夹?