一、创建目录

mkdir()——仅创建一层目录,返回true或false.
mkdirs()——创建一层或多层目录,返回true或false.
  也就是,在通常情况下,使用mkdirs()即可满足创建目录的需求。
如,

File file = new File("D:\\myLevel1\\myLevel2"); //以某路径实例化一个File对象
if (!file.exists()){ //如果不存在
    boolean dr = file.mkdirs(); //创建目录
}

即在D盘根目录下创建了myLevel1myLevel2两层目录。

二、创建文件

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盘下创建了myLevel1myLevel2两层目录和abc.txt文件。