文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-01-18 12:00

关注

一、创建目录

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、关于两者的说明如下:

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯