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创建目录与创建文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中重写和重载的区别及说明

    Java中重写和重载的区别及说明

    Java语言中的重载和重写是实现多态的两种方式,但他们的实现方式和规则有所不同,重载发生在一个类中,同名的方法如果有不同的参数列表,则视为重载,重写则发生在子类和父类之间,要求子类重写方法和父类被重写方法有相同的返回类型
    2024-10-10
  • SpringBoot自动配置实现的详细步骤

    SpringBoot自动配置实现的详细步骤

    这篇文章主要为大家介绍了SpringBoot自动配置实现详细的过程步骤,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Java对文件进行基本操作案例讲解

    Java对文件进行基本操作案例讲解

    这篇文章主要介绍了Java对文件进行基本操作案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是本文的详细内容,需要的朋友可以参考下
    2021-07-07
  • Java 全面系统介绍反射的运用

    Java 全面系统介绍反射的运用

    准备入手学习java的安全了,感觉这也是一个大的趋势,想着尽早进入到java安全的探索中,在反序列化链的学习之前,需要先学习反射,不多说了,开干吧
    2022-03-03
  • 浅谈JVM之类的加载链接和初始化

    浅谈JVM之类的加载链接和初始化

    有了java class文件之后,为了让class文件转换成为JVM可以真正运行的结构,需要经历加载,链接和初始化的过程。这三个过程是怎么工作的呢?在本文中你将会找到答案。
    2021-06-06
  • java读取JSON文件的多种实现方式

    java读取JSON文件的多种实现方式

    这篇文章主要介绍了java读取JSON文件的多种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • java中常用的阻塞队列与非阻塞队列详解

    java中常用的阻塞队列与非阻塞队列详解

    这篇文章主要介绍了java中常用的阻塞队列与非阻塞队列用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • SpringBoot调用外部接口的几种方式

    SpringBoot调用外部接口的几种方式

    SpringBoot应用中,调用外部接口是微服务架构常见需求,本文主要介绍了SpringBoot调用外部接口的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • Spring Boot Starter 自动装配原理全解析

    Spring Boot Starter 自动装配原理全解析

    Spring Boot Starter 的核心设计理念是 约定优于配置,其核心实现基于 自动配置(Auto-Configuration) 和 条件化注册(Conditional Registration),这篇文章主要介绍了Spring Boot Starter 自动装配原理全解析,需要的朋友可以参考下
    2025-04-04
  • 一文详解Spring AOP的配置与使用

    一文详解Spring AOP的配置与使用

    面向切面编程(俗称AOP)提供了一种面向对象编程(俗称OOP)的补充,面向对象编程最核心的单元是类(class),然而面向切面编程最核心的单元是切面(Aspects)。本文就来和大家聊聊AOP的配置与使用,感兴趣的可以了解一下
    2022-11-11

最新评论