本文是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。创立失败同样没有异样抛出。
@Testvoid 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深入浅出系列》