java创建名称带有特殊字符的⽂件_总结java创建⽂件夹的4种
⽅法及其优缺点-JAVAI。。。
本⽂是Java IO总结系列篇的第3篇,前篇的访问地址如下:
总结java中创建并写⽂件的5种⽅式-JAVA IO基础总结第⼀篇
总结java从⽂件中读取数据的6种⽅法-JAVA IO基础总结第⼆篇
本⽂为⼤家介绍Java IO-创建⽂件夹的四种⽅法,及其优缺点的解析。如果您阅读完成,觉得此⽂对您有帮助,请给我点个赞,您的⽀持是我不竭的创作动⼒。
1.传统API创建⽂件夹⽅式
Java传统的IO API种使⽤java.io.File类中的file.mkdir()和file.mkdirs()⽅法创建⽂件夹
file.mkdir()创建⽂件夹成功返回true,失败返回false。如果被创建⽂件夹的⽗⽂件夹不存在也返回false.没有异常抛出。
file.mkdirs()创建⽂件夹连同该⽂件夹的⽗⽂件夹,如果创建成功返回true,创建失败返回false。创建失败同样没有异常抛出。
@Test
void testCreateDir1() {
//“D:data111”⽬录现在不存在
String dirStr = "D:data111test";
File directory = new File(dirStr);
//mkdir
boolean hasSucceeded = directory.mkdir();
System.out.println("创建⽂件夹结果(不含⽗⽂件夹):" + hasSucceeded);
//mkdirs
hasSucceeded = directory.mkdirs();
System.out.println("创建⽂件夹结果(包含⽗⽂件夹):" + hasSucceeded);
}
输出结果如下:使⽤mkdir创建失败,使⽤mkdirs创建成功。
创建⽂件夹结果(不含⽗⽂件夹):false
创建⽂件夹结果(包含⽗⽂件夹):true
⼤家可以看到,mkdir和mkdirs虽然可以创建⽂件,但是它们在异常处理的环节做的⾮常不友好。创建失败之后统⼀返回false,创建失败的原因没有说明。是⽗⽂件夹不存在所以创建失败?还是⽂件夹已经存在所以创建失败?还是因为磁盘IO原因导致创建⽂件夹失败?
2. Java NIO创建⽂件夹
为了解决传统IO创建⽂件夹中异常失败处理问题不明确的问题,在Java的NIO中进⾏了改进。
2.1. ateDirectory创建⽂件夹
如果被创建⽂件夹的⽗⽂件夹不存在,则抛出NoSuchFileException.
如果被创建的⽂件夹已经存在,则抛出FileAlreadyExistsException.
如果因为磁盘IO出现异常,则抛出IOException.
mkdirs方法
Path path = ("D:data222test");
Path pathCreate = ateDirectory(path);
2.ateDirectories创建⽂件夹及其⽗⽂件夹
如果被创建⽂件夹的⽗⽂件夹不存在,就创建它
如果被创建的⽂件夹已经存在,就是⽤已经存在的⽂件夹,不会重复创建,没有异常抛出
如果因为磁盘IO出现异常,则抛出IOException.
Path path = ("D:data222test");
Path pathCreate = ateDirectorys(path);
另外⼤家要注意:NIO的API创建的⽂件夹返回值是Path,这样⽅便我们在创建完成⽂件夹之后继续向⽂件夹⾥⾯写⼊⽂件数据等操作。⽐传统IO只返回⼀个boolean值要好得多。
欢迎关注我的博客,⾥⾯有很多精品合集
本⽂转载注明出处(必须带连接,不能只转⽂字):字母哥博客。
觉得对您有帮助的话,帮我点赞、分享!您的⽀持是我不竭的创作动⼒! 。另外,笔者最近⼀段时间输出了如下的精品内容,期待您的关注。
《⼿摸⼿教你学Spring Boot2.0》
《Spring Security-JWT-OAuth2⼀本通》
《实战前后端分离RBAC权限管理系统》
《实战SpringCloud微服务从青铜到王者》
《VUE深⼊浅出系列》

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。