有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将文件上载到服务器会引发文件或目录未找到异常

下面是我用来上传文件到服务器的代码。但代码会抛出一个未找到的异常目录或文件

                ResourceBundle rs_mail = ResourceBundle.getBundle("mail");
                String upload_path = rs_mail.getString("upload_path");
                File file = null;
                FileItemFactory factory = new DiskFileItemFactory();
                ServletFileUpload upload = new ServletFileUpload(factory);
                // Parse the request to get file items.
                List fileItems = upload.parseRequest(request);

                // Process the uploaded file items
                Iterator i = fileItems.iterator();
                while (i.hasNext()) {
                    FileItem fi = (FileItem) i.next();
                    File uploadDir = new File(upload_path);
                    if (!uploadDir.exists()) {
                        uploadDir.mkdir();
                    }
                  file = new File(upload_path + file.separator + fi.getName());

                    fi.write(file);
                }

有人能指出例外的原因吗

属性文件的内容

上传路径=../..//上传


共 (1) 个答案

  1. # 1 楼答案

    确保还创建了upload_path路径上的所有父目录:

    if (!uploadDir.exists()) {
       uploadDir.mkdirs();
    }
    

    注意使用mkdirs()而不是mkdir()^如果父结构不存在,{}将失败mkdirs()还将尝试创建所需的父目录

    您还应该检查返回值,如果无法创建目录,这两个方法都将返回false