java给一个包含文件名的路径,判断是否存在,不存在则创建

方法一:使用 java.io.File

import java.io.File;
import java.io.IOException;

public class FileCreation {

    public static void main(String[] args) {
        // 包含文件名的路径
        String path = "path/to/your/file.txt";

        // 创建 File 对象
        File file = new File(path);

        // 检查文件是否存在
        if (!file.exists()) {
            // 获取父目录
            File parentDir = file.getParentFile();

            // 检查父目录是否存在,不存在则创建
            if (!parentDir.exists()) {
                if (parentDir.mkdirs()) {
                    System.out.println("父目录创建成功: " + parentDir.getAbsolutePath());
                } else {
                    System.out.println("父目录创建失败: " + parentDir.getAbsolutePath());
                    return;
                }
            }

            // 创建新文件
            try {
                if (file.createNewFile()) {
                    System.out.println("文件创建成功: " + file.getAbsolutePath());
                } else {
                    System.out.println("文件创建失败: " + file.getAbsolutePath());
                }
            } catch (IOException e) {
                System.out.println("文件创建时发生异常: " + e.getMessage());
            }
        } else {
            System.out.println("文件已存在: " + file.getAbsolutePath());
        }
    }
}

方法二:使用 java.nio.file.Path 和 java.nio.file.Files (Java 7 及以上)

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.IOException;

public class FileCreation {

    public static void main(String[] args) {
        // 包含文件名的路径
        String path = "path/to/your/file.txt";

        // 创建 Path 对象
        Path filePath = Paths.get(path);

        // 检查文件是否存在
        if (Files.notExists(filePath)) {
            // 获取父目录
            Path parentDir = filePath.getParent();

            // 检查父目录是否存在,不存在则创建
            if (Files.notExists(parentDir)) {
                try {
                    Files.createDirectories(parentDir);
                    System.out.println("父目录创建成功: " + parentDir.toAbsolutePath());
                } catch (IOException e) {
                    System.out.println("父目录创建时发生异常: " + e.getMessage());
                    return;
                }
            }

            // 创建新文件
            try {
                Files.createFile(filePath);
                System.out.println("文件创建成功: " + filePath.toAbsolutePath());
            } catch (IOException e) {
                System.out.println("文件创建时发生异常: " + e.getMessage());
            }
        } else {
            System.out.println("文件已存在: " + filePath.toAbsolutePath());
        }
    }
}
  1. 检查文件是否存在

    • java.io.File:使用 file.exists() 方法检查文件是否存在。
    • java.nio.file.Files:使用 Files.notExists(filePath) 检查文件是否不存在。
  2. 创建父目录

    • java.io.File:使用 file.getParentFile().mkdirs() 方法创建父目录(如果需要)。
    • java.nio.file.Files:使用 Files.createDirectories(parentDir) 方法创建父目录(如果需要)。
  3. 创建文件

    • java.io.File:使用 file.createNewFile() 方法创建新文件。
    • java.nio.file.Files:使用 Files.createFile(filePath) 方法创建新文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值