本文是 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:\\data111\\test";
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. Files.createDirectory
创立文件夹
- 如果被创立文件夹的父文件夹不存在,则抛出
NoSuchFileException
. - 如果被创立的文件夹曾经存在,则抛出
FileAlreadyExistsException
. - 如果因为磁盘 IO 出现异常,则抛出
IOException
.
Path path = Paths.get("D:\\data222\\test");
Path pathCreate = Files.createDirectory(path);
2.2.Files.createDirectories
创立文件夹及其父文件夹
- 如果被创立文件夹的父文件夹不存在,就创立它
- 如果被创立的文件夹曾经存在,就是用曾经存在的文件夹,不会反复创立,没有异样抛出
- 如果因为磁盘 IO 出现异常,则抛出
IOException
.
Path path = Paths.get("D:\\data222\\test");
Path pathCreate = Files.createDirectorys(path);
另外大家要留神:NIO 的 API 创立的文件夹返回值是 Path,这样不便咱们在创立实现文件夹之后持续向文件夹外面写入文件数据等操作。比传统 IO 只返回一个 boolean 值要好得多。
欢送关注我的博客,外面有很多精品合集
- 本文转载注明出处(必须带连贯,不能只转文字):字母哥博客。
感觉对您有帮忙的话,帮我点赞、分享!您的反对是我不竭的创作能源!。另外,笔者最近一段时间输入了如下的精品内容,期待您的关注。
- 《手摸手教你学 Spring Boot2.0》
- 《Spring Security-JWT-OAuth2 一本通》
- 《实战前后端拆散 RBAC 权限管理系统》
- 《实战 SpringCloud 微服务从青铜到王者》
- 《VUE 深入浅出系列》