java使用file.createNewFile()创建文件时,报错目录不存在,如何解决
普通创建文件代码:
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()创建文件时,报错目录不存在,如何解决相关推荐
- Java File createNewFile创建文件包含多层级目录报错
Java File createNewFile创建文件包含多层级目录报错 比如,需要创建一个包含目录层级结构的文件:c:\dira\dirb\dirc\file.txt 如果直接使用File的crea ...
- Java File.createNewFile 创建文件的四种方式小笔记
本文为joshua317原创文章,转载请注明:转载自joshua317博客 Java File.createNewFile 创建文件的四种方式小笔记 - joshua317的博客 1.File(Str ...
- Java中File使用--创建文件
1.错误示范1,输出的是创建文件夹 D:\filepath\test\test.txt. public class FileTest {public static void main(String[] ...
- 创建文件java_Java File.createNewFile 创建文件
首页 > 基础教程 > IO流 > File类 Java File.createNewFile 创建文件 定义 public boolean createNewFile() 返回 会 ...
- linux执行.sh文件时,报错:XXX.sh: Permission denied(没有权限)
linux执行.sh文件时,报错:XXX.sh: Permission denied(没有权限) 解决方法:修改对该文件的权限 例如报错: bash: ./zkServer.sh: Permissio ...
- java new file会创建文件吗_Java高级——文件与I/O流
简介 本文分为四个部分,首先是介绍File类,概括了一下概念.构造方法及常用方法等,其次是描述了面对对象的三大特征,再次是对抽象类进行了简单的概述,最后从特性.使用等等几个方面对接口进行了一定的描述. ...
- java使用File类创建文件或文件夹
在输入框中输入字符串,判断输入的是文件还是文件夹,如果是文件就出创建问价,是文件夹就出创建文件夹,在创建的时候没有就创建,有就删除(例如:test.test.txt) package Iodemo;i ...
- eclipse 向HDFS中创建文件夹报错 permission denied
环境:win7 eclipse hadoop 1.1.2 当执行创建文件的的时候, 即: String Path = "hdfs://host2:9000"; FileSy ...
- java编译找不到文件_java报错找不到文件解决方法
刚开始编写java代码时,肯定会遇到各种各样的bug,当然对于初学者这也是能理解的,首先来说一个比较常见的错误,如下: 一般编写新的程序时,都是从Hello,World开始的,比如在DOS上运行jav ...
最新文章
- Winform中使用zxing和Graphics实现自定义绘制二维码布局
- AS3深拷贝数据对象(1)深拷贝基本数据类型
- 利用类的反射导入excel示例
- sae项目服务器,基于SAE的游戏服务器: Server on SAE for RGSS Games
部署在SAE上的简易游戏服务器,为用 RMXP/VX/VA 开发的游戏提供网络服务...
- 单例模式的练习-如何正确构建
- maxcompute操作_MaxCompute问答整理之9月
- keli4 指针运算_如何在KEIL中使用MicroLIB | 学步园
- Wonderware Historian 2017安装,资料
- 阿里云手机号短信设置
- 如何 ping ip 加 端口
- 程序员学习交流的网站论坛
- Ubuntu配置软件源
- 东芝2303am维护清零_东芝打印机2303A怎样清零?
- 而立之年,时间都去哪儿
- 为什么逍遥子说,双11已成全球的社会大协同?
- RK3588 实现温控风扇之获取cpu温度(一)
- Lombok链式调用,子类对象set父类属性,返回父类对象
- 服务器作防盗链图片中转,Node.js 上手项目简明教程
- DAC7512原理及其通过STM32的编程和应用
- 【100%通过率】华为机试真题 C语言 实现【过滤组合字符串】【2022.11 Q4新题】
热门文章
- 黑裙6.16.2设置root密码并使用root账户登陆
- JAVAFX常用控件
- mysql 导出insert 语句_mysqldump导出sql中insert语句的问题
- 22年普通二本不考研找实习总结
- 读取文件时路径出错OSError: [Errno 22] Invalid argument:‘l\u202ad:y\Windows \ \Fonts \\msyh.ttc‘
- Unity Web Player修改加载页面的LOGO
- Firefox版搜狗云输入法体验
- 港科夜闻|第11次EMBA排名全球第一!!香港科大与凯洛格合办的Kellogg-HKUST EMBA课程再登全球首位...
- 双11中国包裹提速10天到欧洲 菜鸟东莞-列日中欧公路电商专线首发
- 阿里巴巴Jetcache配置详解