96javaFile文件操作类(创建目录)

101 阅读1分钟

File文件操作类(创建目录)

一、错误范例

在之前所创建的文件都是在根目录下直接进行的控制,如果再有目录出现,则以上的代码将无法执行。

 

范例:错误的代码

public class TestDemo {

public static void main(String[] args) throws Exception{

File file =new File("d:"+ File.separator +"hello"+ File.separator +"hello.txt");//定义要操作的文件路径

if (file.exists(){ // 文件存在

file.delete();

}else {// 文件不存在

file.createNewFile();// 创建新文件

}

}

}

演示结果为:Exception inthread “main” java.io.IOException:系统找不到指定的路径。

在当前的环境中,本代码存在一个最大的问题:

不存在父路径,所以无法找到。

 

 

二、创建目录

在File类中定义有如下的方法可取得父路径:

  • 取得父路径:

包括两个方法分别为getParent和getParentFile,其中getParentFile较好操作,因为需要对父目录进行创建,所以需要先取得父路径的File类对象。

所以方法是:public File getParentFile();

 

  • 创建目录:

public boolean mkdirs();mkdir后加s表示无论存在几级目录都会进行创建。

演示:

public class TestDemo{

public static void main(String[] args) throws Exception {

File file = new File("d:"+ File.separator +"hello"+ File.separator+”abc”+File.separator+”bcd”+File.separator+"hello.txt")

if (!file.getParentFile().exists()){ // 父目录不存在

file.getParentFile().mkdirs() ;// 创建父目录

}

if (file.exists()) { //文件存在

file.delete();

} else {// 文件不存在

file.createNewFile();// 创建新文件

}

}

}

 

注意:

判断父目录而后创建父目录的操作代码非常重要,在以后的开发此类的父目录的判断会经常出现。

如果有多级目录,必须要先创建目录再创建文件。