java.io.File类中mkdir()与mkdirs()区别
来源:互联网 发布:淘宝店铺宝贝分类图片 编辑:程序博客网 时间:2024/06/05 05:19
在Java中对文件进行操作时常常用到java.io.File.mkdir()和java.io.File.mkdirs()两个方法来创建一个目录(文件夹),这两个方法非常相似,都是无参数且返回值都为boolean类型的方法,都是用于创建指定路径名称对应的目录,但二者主要区别如下:
java.io.File.mkdir():只能创建一级目录,且父目录必须存在,否则无法成功创建一个目录。
java.io.File.mkdirs():可以创建多级目录,父目录不一定存在。
下面给出一个例程可以深刻体会二者的区别:
<span style="font-size:18px;">import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;import java.text.SimpleDateFormat;import java.util.Date;/** * mkdir与mkdirs测试例程 * 时间:2016-5-15 22:34 * 说明:1、java.io.File.mkdir()和java.io.File.mkdirs()都用于创建指定路径名称对应的目录。 * 但java.io.File.mkdir()只能创建一级目录且父目录必须存在,否则将无法正确创建一个目录; * java.io.File.mkdir()可以创建多级目录,父目录不一定存在。 * */public class mkdirsAndmkdirTestMain {private static final String path1="path1";private static final String path2="path2/path2/";private static final String path3="path3";private static final String path4="path4/path4/";private static final String filePath1="file1.txt";/** * @param args */public static void main(String[] args) {File file1=new File(path1);if(!file1.exists()){file1.mkdir();}System.out.println(file1.getPath());File file2=new File(path2);if(!file2.exists()){file2.mkdir();}System.out.println(file2.getPath());File file3=new File(path3);if(!file3.exists()){file3.mkdirs();}System.out.println(file3.getPath());File file4=new File(path4);if(!file4.exists()){file4.mkdirs();}System.out.println(file4.getPath());File file4_1=new File(path4+filePath1);if(!file4_1.exists()){try {file4_1.createNewFile();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}System.out.println(file4_1.getPath());try {PrintWriter pw=new PrintWriter(new BufferedWriter(new FileWriter(file4_1)));long current=System.currentTimeMillis();String time=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(current));pw.write("时间:"+time);pw.println();pw.println("当前文件绝对路径:"+file4_1.getAbsolutePath());pw.write("当前文件相对路径:"+file4_1.getPath());pw.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}</span>编译运行,可以在该例程工程目录(文件夹)下看到如下结果:
path1是一个一级路径,使用java.io.File.mkdir()可以成功创建对应的目录;
而path2是一个二级路径,使用java.io.File.mkdir()却不能创建对应的目录;
path3是一个一级路径,path4是一个二级路径,分别使用java.io.File.mkdirs()均可以成功创建各自对应的目录。
测试例程源代码(github)
0 0
- java.io.File类中mkdir()与mkdirs()区别
- java.io.File类中mkdir()与mkdirs()区别
- java.io.File类中mkdir()与mkdirs()区别
- java.io.file 中mkdir和mkdirs的区别
- java File类mkdir()与mkdirs()方法的区别:
- java File类 mkdir()与mkdirs()的区别
- JAVA 中File mkdir()与mkdirs()
- Java中File类mkdir和mkdirs的区别
- java.io.File中的mkdir() 和 mkdirs() 方法区别
- java 中的renameTO/java.io.File中mkdir和mkdirs的区别
- java.io.File中mkdir()和mkdirs()的区别
- java.io.File中mkdir()和mkdirs()的区别
- java.io.File中mkdir()和mkdirs()的区别
- File类中的mkdir()与mkdirs()的区别
- File类中mkdir()和mkdirs()的区别
- File中mkdir()和mkdirs()的区别
- java类 File类的mkdir()和mkdirs()的区别
- java File类中的mkdir()和mkdirs()有什么区别
- 最全面的JavaScript调试技巧总结
- 安全卫士6---导航设置页面的完成——style/button样式/9妹图的制作
- spark性能调优:资源优化
- LVS/DR模式原理剖析(FAQs)
- mysql传输表空间
- java.io.File类中mkdir()与mkdirs()区别
- 第97讲:使用Spark Streaming+Spark SQL来在线动态计算电商中不同类别中最热门的商品排名,
- C++结构体
- 表结构设计器EZDML V2.13发布
- java 反射
- 【会议】QCon2016会议整理(二)——服务架构与治理
- 安全卫士6---导航设置页面的完成——界面的交替以及动画的完成
- java注解学习1,了解和入门注解的应用
- typedef与#define的区别