如何实现Java文件上传并在目录不存在时创建目录

1. 流程

以下是整个实现Java文件上传并在目录不存在时创建目录的流程:

步骤 操作
1 创建一个HTML表单,用于上传文件
2 在后端编写Java代码,处理文件上传功能
3 判断上传文件的目录是否存在,如果不存在则创建目录
4 将上传的文件保存到指定目录中

2. 代码示例

HTML表单代码

<form action="/upload" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="Upload">
</form>

后端Java代码

@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) {
    // 获取上传文件的目录
    String uploadDir = "uploads/";
    // 创建文件保存路径
    File dir = new File(uploadDir);
    if (!dir.exists()) {
        dir.mkdir(); // 创建目录
    }
    // 保存文件
    Path filePath = Paths.get(uploadDir + file.getOriginalFilename());
    try {
        Files.write(filePath, file.getBytes());
        return "File uploaded successfully!";
    } catch (IOException e) {
        return "Failed to upload file!";
    }
}

上述代码中,uploadDir为上传文件的目录,如果该目录不存在则会创建目录。file.getOriginalFilename()用于获取上传文件的文件名,Files.write()用于保存文件到指定目录中。

3. 类图

classDiagram
    FileUploader <|-- FileHandler
    class FileUploader {
        + uploadFile(MultipartFile file): String
    }
    class FileHandler {
        - checkAndCreateDir(String uploadDir): void
        - saveFile(MultipartFile file, String uploadDir): void
    }

4. 关系图

erDiagram
    FILE_UPLOADER ||--o{ FILE_HANDLER : includes

通过以上步骤和代码示例,你可以实现Java文件上传并在目录不存在时创建目录的功能。祝你编码愉快!