一、创建目录
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文件。
参考
- https://blog.csdn.net/Trace_hs/article/details/108148923
- https://www.cnblogs.com/hunterCecil/p/5923106.html