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文件。
参考