java中实现创建目录与创建文件的操作实例

 更新时间:2023年01月18日 09:56:21   作者:禺垣  
用Java创建文件或目录非常简单,下面这篇文章主要给大家介绍了关于java中实现创建目录与创建文件的操作实例,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

一、创建目录

mkdir()——仅创建一层目录,返回true或false.

mkdirs()——创建一层或多层目录,返回true或false.

也就是,在通常情况下,使用mkdirs()即可满足创建目录的需求。

如,

File file = new File("D:\\myLevel1\\myLevel2"); //以某路径实例化一个File对象
if (!file.exists()){ //如果不存在
    boolean dr = file.mkdirs(); //创建目录
} 

即在D盘根目录下创建了myLevel1、myLevel2两层目录。

二、创建文件

createNewFile()——当File对象实例化的路径中,上面各层目录均已存在,最后一层目录不存在时,以最后一层目录名为名称创建文件。返回true或false.

如,

File file = new File("D:\\myLevel1\\myLevel2\\abc.txt"); //实例化File对象
try {
    boolean fr = file.createNewFile(); //创建文件
}catch (Exception e){
    e.printStackTrace();
}

即在D:\myLevel1\myLevel2下创建了一个abc.txt文件。

三、同时创建目录和文件

getParent()——得到路径的父级及以上的目录,String类型。

getParentFile()——得到路径的父级及以上的目录实例化的File对象。

先使用getParentFile().mkdirs()创建目录,再使用createNewFile()创建文件,如,

File file = new File("D:\\myLevel1\\myLevel2\\abc.txt"); //实例化File对象
boolean dr = file.getParentFile().mkdirs(); //创建目录
try {
    boolean fr = file.createNewFile(); //创建文件
}catch (Exception e){
    e.printStackTrace();
}

即在D盘下创建了myLevel1、myLevel2两层目录和abc.txt文件。

补充知识:getParentFile()方法和getParent()的区别

getParentFile()方法返回的是File类型的值,而getParent()返回的是字符串类型的值,根据你想获得的值来区别使用,而exists()方法和mkdirs()方法是getParentFile()返回的File类型里面的方法,exists()方法是查看有没有此路径或者文件,mkdirs()方法是若没有此路径用来创建的

//若是有重名文件就会加后缀
String newfilename=filename;
int i=1;
if(descFile.exists()){
    newfilename=name+"("+i+")"+suffix;
    String parentPath=descFile.getParent();
    descFile=new File(parentPath+File.separator+newfilename);
    i++;
}
//判断目录是否存在
if(!descFile.getParentFile().exists()){
    //如果目标文件所在目录不存在,则创建父目录
    descFile.getParentFile().mkdirs();
}

mkdir与mkdirs的区别

项目中需要在代码中读取或创建文件保存路径,用到了mkdir,查看还有个mkdirs方法,这里记录一下两者的区别。

1、关于两者的说明如下:

  •  boolean mkdir() :  创建此抽象路径名指定的目录。  
  •  boolean mkdirs() :  创建此抽象路径名指定的目录,包括创建必需但不存在的父目录。  

2、结合自己的理解及具体实践如下:

mkdir():只能创建一层目录, 如:

File file = new File("e:/test");
file.mkdir();

这样会在e:/路径下创建test目录.

mkdirs(): 创建多层目录,如:

File file = new File("e:/test/0930");
file.mkdirs();

这样才能在e:/test/路径下创建0930目录,mkdir这里就不生效了。

总结

到此这篇关于java中实现创建目录与创建文件操作的文章就介绍到这了,更多相关java创建目录与创建文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mybatis打印SQL语句的几种常用方式

    Mybatis打印SQL语句的几种常用方式

    当我们动态sql拼接的块很多的时候,我们要想从*mapper.xml中直接找出完整的sql就会非常的难,这个时候经常会需要把组合之后的完整SQL语句打印出来,对调试非常有帮助的,所以本文小编给大家介绍了几种Mybatis打印SQL语句的常用方式,需要的朋友可以参考下
    2023-11-11
  • IDEA删除的文件怎么找回更新的方法

    IDEA删除的文件怎么找回更新的方法

    查找本地历史记录IDEA在进行代码版本管理时,会自动创建本地历史记录,如果我们误删了文件,可以通过查找本地历史记录来找回文件,本文就来介绍一下
    2023-11-11
  • Java实现简易五子棋小游戏

    Java实现简易五子棋小游戏

    这篇文章主要为大家详细介绍了Java实现简易五子棋小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Spring Data JPA框架快速入门之自定义Repository接口

    Spring Data JPA框架快速入门之自定义Repository接口

    Spring Data JPA是Spring基于JPA规范的基础上封装的⼀套 JPA 应⽤框架,可使开发者⽤极简的代码即可实现对数据库的访问和操作,本篇我们来了解Spring Data JPA框架的自定义Repository接口
    2022-04-04
  • Java泛型详解

    Java泛型详解

    本文给大家汇总介绍了下java中的泛型的相关资料,包括引入泛型机制的原因,泛型类,泛型方法,泛型的实现以及泛型的注意事项,非常的详细,有需要的小伙伴可以参考下
    2016-03-03
  • Java效率工具之Lombok的具体使用

    Java效率工具之Lombok的具体使用

    这篇文章主要介绍了Java效率工具之Lombok的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Redisson可重入锁解锁逻辑详细讲解

    Redisson可重入锁解锁逻辑详细讲解

    Redisson开源框架是一个Redis的分布式锁的现成实现方案,是Redis的java实现的客户端。通过Netty支持非阻塞I/O。Redisson实现了分布式锁的自动续期机制、锁的互斥自等待机制、锁的可重入加锁与释放锁的机制
    2023-02-02
  • JavaFX Metro UI 和 开发库使用简介

    JavaFX Metro UI 和 开发库使用简介

    这篇文章主要介绍了JavaFX Metro UI 和 开发库解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • java 中枚举类enum的values()方法的详解

    java 中枚举类enum的values()方法的详解

    这篇文章主要介绍了java 中枚举类enum的values()方法的详解的相关资料,希望通过本文大家能够掌握这部分内容,需要的朋友可以参考下
    2017-09-09
  • 全面了解java异常

    全面了解java异常

    本文非常详细的介绍了java异常,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们可以学习一下这篇文章
    2021-08-08

最新评论