普通创建文件代码:

String strPath = "E:\\test\\test1\\test.txt";
File file = new File(strPath);
if(!file.exists())){file.createNewFile();
}

上述这段代码,当E:\test\test1目录不存在时,createNewFile()执行会报错:java.io.IOException:Parent directory of file does not exist

String strPath = "E:\\test\\test1\\test.txt";
File file = new File(strPath);
if(!file.exists())){file.mkdirs();
}

这段代码会创建目录:E:\test\test1\test.txt\

String strPath = "E:\\test\\test1\\test.txt";
File file = new File(strPath);
File fileParent = file.getParentFile();
if(!fileParent.exists()){fileParent.mkdirs();
}
file.createNewFile();

上述这段代码可以成功创建文件。原因:先判断文件所处目录是否存在,如果不存在则递归创建目录;注意是mkdirs()而不是mkdir()

mkdir:只能用来创建文件夹,且只能创建一级目录,如果上级不存在,就会创建失败。
mkdirs:只能用来创建文件夹,且能创建多级目录 ,如果上级不存在,就会自动创建。(创建文件夹多用此)
createNewFile:只能用来创建文件,且只能在已存在的目录下创建文件,否则会创建失败。
FileOutputStream os=new FileOutputStream(file)也可创建文件,看情况使用

参考:https://blog.csdn.net/guofang110/article/details/108621733

java使用file.createNewFile()创建文件时,报错目录不存在,如何解决相关推荐

  1. Java File createNewFile创建文件包含多层级目录报错

    Java File createNewFile创建文件包含多层级目录报错 比如,需要创建一个包含目录层级结构的文件:c:\dira\dirb\dirc\file.txt 如果直接使用File的crea ...

  2. Java File.createNewFile 创建文件的四种方式小笔记

    本文为joshua317原创文章,转载请注明:转载自joshua317博客 Java File.createNewFile 创建文件的四种方式小笔记 - joshua317的博客 1.File(Str ...

  3. Java中File使用--创建文件

    1.错误示范1,输出的是创建文件夹 D:\filepath\test\test.txt. public class FileTest {public static void main(String[] ...

  4. 创建文件java_Java File.createNewFile 创建文件

    首页 > 基础教程 > IO流 > File类 Java File.createNewFile 创建文件 定义 public boolean createNewFile() 返回 会 ...

  5. linux执行.sh文件时,报错:XXX.sh: Permission denied(没有权限)

    linux执行.sh文件时,报错:XXX.sh: Permission denied(没有权限) 解决方法:修改对该文件的权限 例如报错: bash: ./zkServer.sh: Permissio ...

  6. java new file会创建文件吗_Java高级——文件与I/O流

    简介 本文分为四个部分,首先是介绍File类,概括了一下概念.构造方法及常用方法等,其次是描述了面对对象的三大特征,再次是对抽象类进行了简单的概述,最后从特性.使用等等几个方面对接口进行了一定的描述. ...

  7. java使用File类创建文件或文件夹

    在输入框中输入字符串,判断输入的是文件还是文件夹,如果是文件就出创建问价,是文件夹就出创建文件夹,在创建的时候没有就创建,有就删除(例如:test.test.txt) package Iodemo;i ...

  8. eclipse 向HDFS中创建文件夹报错 permission denied

    环境:win7  eclipse    hadoop 1.1.2 当执行创建文件的的时候, 即: String Path = "hdfs://host2:9000"; FileSy ...

  9. java编译找不到文件_java报错找不到文件解决方法

    刚开始编写java代码时,肯定会遇到各种各样的bug,当然对于初学者这也是能理解的,首先来说一个比较常见的错误,如下: 一般编写新的程序时,都是从Hello,World开始的,比如在DOS上运行jav ...

最新文章

  1. Winform中使用zxing和Graphics实现自定义绘制二维码布局
  2. AS3深拷贝数据对象(1)深拷贝基本数据类型
  3. 利用类的反射导入excel示例
  4. sae项目服务器,基于SAE的游戏服务器: Server on SAE for RGSS Games 部署在SAE上的简易游戏服务器,为用 RMXP/VX/VA 开发的游戏提供网络服务...
  5. 单例模式的练习-如何正确构建
  6. maxcompute操作_MaxCompute问答整理之9月
  7. keli4 指针运算_如何在KEIL中使用MicroLIB | 学步园
  8. Wonderware Historian 2017安装,资料
  9. 阿里云手机号短信设置
  10. 如何 ping ip 加 端口
  11. 程序员学习交流的网站论坛
  12. Ubuntu配置软件源
  13. 东芝2303am维护清零_东芝打印机2303A怎样清零?
  14. 而立之年,时间都去哪儿
  15. 为什么逍遥子说,双11已成全球的社会大协同?
  16. RK3588 实现温控风扇之获取cpu温度(一)
  17. Lombok链式调用,子类对象set父类属性,返回父类对象
  18. 服务器作防盗链图片中转,Node.js 上手项目简明教程
  19. DAC7512原理及其通过STM32的编程和应用
  20. 【100%通过率】华为机试真题 C语言 实现【过滤组合字符串】【2022.11 Q4新题】

热门文章

  1. 黑裙6.16.2设置root密码并使用root账户登陆
  2. JAVAFX常用控件
  3. mysql 导出insert 语句_mysqldump导出sql中insert语句的问题
  4. 22年普通二本不考研找实习总结
  5. 读取文件时路径出错OSError: [Errno 22] Invalid argument:‘l\u202ad:y\Windows \ \Fonts \\msyh.ttc‘
  6. Unity Web Player修改加载页面的LOGO
  7. Firefox版搜狗云输入法体验
  8. 港科夜闻|第11次EMBA排名全球第一!!香港科大与凯洛格合办的Kellogg-HKUST EMBA课程再登全球首位...
  9. 双11中国包裹提速10天到欧洲 菜鸟东莞-列日中欧公路电商专线首发
  10. 阿里巴巴Jetcache配置详解