java同时创建目录和文件

在java中貌似不能同时创建目录和文件,需要分步创建,即不能在创建目录的时候,同时创建该目录下的文件,如果要创建的话,需要分两步,下边是创建的代码,这一点很烦,用mkdirs也没有用

 

String path = "D:/test/d.txt";
File file = new File(path);
if (!file.getParentFile().exists()) {
    file.getParentFile().mkdirs();
}
file.createNewFile();

 

如果目录"d:/test/"不存在,我们直接

file.createNewFile();

 

会报错,

 

/**
* 创建任意深度的文件所在文件夹,可以用来替代直接new File(path)。
*
* @param path
* @return File对象
*/
public static File createFile(String path) {
     File file = new File(path);
     //寻找父目录是否存在
    File parent = new File(file.getAbsolutePath().substring(0, file.getAbsolutePath().lastIndexOf(File.separator)));
     //如果父目录不存在,则递归寻找更上一层目录
    if (!parent.exists()) {
         createFile(parent.getPath());
         //创建父目录
      parent.mkdirs();
      }
     return file;
}

 


我们可以在代码中代替new File();

File file=createFile(path);

 

转载:http://www.popo4j.com/article/java-create-directories-and-files.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值