Java案例怎么创建文件夹?

wen java案例 12

本文目录导读:

Java案例怎么创建文件夹?

  1. 创建单级目录
  2. 创建多级目录
  3. 使用 Java NIO(推荐方式)
  4. 完整的工具类示例
  5. 关键区别
  6. 注意事项

在Java中创建文件夹(目录)主要有以下几种方式,根据需求选择合适的方法。

创建单级目录

import java.io.File;
public class CreateFolderExample {
    public static void main(String[] args) {
        // 创建单级目录
        File folder = new File("D:\\myFolder");
        // 如果文件夹不存在则创建
        if (!folder.exists()) {
            boolean created = folder.mkdir();  // mkdir() 创建单级目录
            if (created) {
                System.out.println("文件夹创建成功!");
            } else {
                System.out.println("文件夹创建失败!");
            }
        } else {
            System.out.println("文件夹已存在!");
        }
    }
}

创建多级目录

import java.io.File;
public class CreateMultiLevelFolder {
    public static void main(String[] args) {
        // 创建多级目录(父目录不存在时自动创建)
        File folder = new File("D:\\parent\\child\\grandchild");
        // mkdirs() 可以创建多级目录
        if (!folder.exists()) {
            boolean created = folder.mkdirs();  // 关键方法:mkdirs()
            if (created) {
                System.out.println("多级目录创建成功!");
            } else {
                System.out.println("多级目录创建失败!");
            }
        }
    }
}

使用 Java NIO(推荐方式)

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class CreateFolderNIO {
    public static void main(String[] args) {
        try {
            // 创建单级目录
            Path singlePath = Paths.get("D:\\nioFolder");
            Files.createDirectory(singlePath);
            System.out.println("单级目录创建成功!");
            // 创建多级目录
            Path multiPath = Paths.get("D:\\nioParent\\nioChild");
            Files.createDirectories(multiPath);  // 创建多级目录
            System.out.println("多级目录创建成功!");
        } catch (Exception e) {
            System.out.println("创建失败:" + e.getMessage());
            e.printStackTrace();
        }
    }
}

完整的工具类示例

import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class FolderUtils {
    /**
     * 创建文件夹(File方式)
     * @param folderPath 文件夹路径
     * @param createParents 是否创建父目录
     * @return 是否创建成功
     */
    public static boolean createFolder(String folderPath, boolean createParents) {
        File folder = new File(folderPath);
        if (folder.exists()) {
            System.out.println("文件夹已存在: " + folderPath);
            return true;
        }
        boolean created;
        if (createParents) {
            created = folder.mkdirs();  // 创建多级目录
        } else {
            created = folder.mkdir();   // 创建单级目录
        }
        if (created) {
            System.out.println("文件夹创建成功: " + folderPath);
        } else {
            System.out.println("文件夹创建失败: " + folderPath);
        }
        return created;
    }
    /**
     * 创建文件夹(NIO方式,推荐)
     * @param folderPath 文件夹路径
     * @param createParents 是否创建父目录
     * @return 是否创建成功
     */
    public static boolean createFolderNIO(String folderPath, boolean createParents) {
        try {
            Path path = Paths.get(folderPath);
            if (Files.exists(path)) {
                System.out.println("文件夹已存在: " + folderPath);
                return true;
            }
            if (createParents) {
                Files.createDirectories(path);  // 创建多级目录
            } else {
                Files.createDirectory(path);    // 创建单级目录
            }
            System.out.println("文件夹创建成功: " + folderPath);
            return true;
        } catch (Exception e) {
            System.out.println("文件夹创建失败: " + e.getMessage());
            return false;
        }
    }
    public static void main(String[] args) {
        // 测试示例
        createFolder("D:\\testFolder", false);         // 创建单级
        createFolder("D:\\parent\\child", true);       // 创建多级
        createFolderNIO("D:\\nioTest\\sub", true);     // NIO方式创建多级
    }
}

关键区别

方法 用途 特点
mkdir() 创建单级目录 父目录必须存在
mkdirs() 创建多级目录 自动创建不存在的父目录
Files.createDirectory() 创建单级目录(NIO) 父目录必须存在
Files.createDirectories() 创建多级目录(NIO) 自动创建不存在的父目录

注意事项

  1. 权限问题:确保有权限在目标位置创建文件夹
  2. 路径分隔符:Windows使用或,Linux/Mac使用,建议使用File.separator
  3. 相对路径:相对于当前项目的运行目录
  4. 异常处理:建议捕获可能出现的异常

推荐使用 Java NIO 方式(Files.createDirectories()),代码更简洁,功能更强大。

抱歉,评论功能暂时关闭!