File类创建删除功能的方法和File类遍历(文件夹)目录功能
File类创建删除功能的方法
public boolean createNewFile() : 当且仅当具有该名称的文件尚不存在时, 创建一个新的空文件。
创建文件的路径和名称在构造方法中给出(构造方法的参数)
返回值:布尔值
true:文件不存在,创建文件,返回true
false:文件存在,不会创建,返回false
注意:
1.此方法只能创建文件,不能创建文件夹
2.创建文件的路径必须存在,否则会抛出异常
private static void show01() throws IOException { //绝对路径 File f1 = new File("F:\\a\\1.txt"); boolean b1 = f1.createNewFile(); System.out.println(b1); //相对路径 File f2 = new File("a\\2.txt"); System.out.println(f2.createNewFile()); //路径不存在 File f3 = new File("q\\3.txt"); System.out.println(f3.createNewFile()); }
绝对路径
相对路径
路径不存在
public boolean delete() : 删除由此File表示的文件或目录。
此方法,可以删除构造方法路径中给出的文件/文件夹
返回值:布尔值
true:文件/文件夹删除成功,返回true
false:文件夹中有内容,不会删除返回false;构造方法中路径不存在false
注意:
delete方法是直接在硬盘删除文件/文件夹,不会走回收站,删除要谨慎
private static void show03() { //删除文件夹 File f1 = new File("F:\\a\\2"); System.out.println(f1.delete()); //删除文件 File f2 = new File("F:\\a\\1.txt"); System.out.println(f2.delete()); }
public boolean mkdir() : 创建单级空文件夹。
public boolean mkdirs() : 即可以创建单级空文件夹,也可以创建多级文件夹。
创建文件夹的路径和名称在构造方法中给出(构造方法的参数)
返回值:布尔值
true:文件夹不存在,创建文件夹,返回true
false:文件夹不存在,不会创建,返回false;构造方法中给出的路径不存在返回false
注意:
1.此方法只能创建文件夹,不能创建文件
private static void show02() { //创建单级文件夹 File f1 = new File("F:\\a\\2"); System.out.println(f1.mkdir()); //创建多级文件夹 File f2 = new File("F:\\a\\11\\22\\33"); System.out.println(f2.mkdirs()); //不会抛出异常,路径不存在,不会创建 File f3 = new File("G:\\1\\222"); System.out.println(f3.mkdirs()); }
File类遍历(文件夹)目录功能
list() : 返回一个String数组,表示该File目录中的所有子文件或目录。
listFiles() : 返回一个File数组,表示该File目录中的所有的子文件或目录。
注意:
list方法和listFiles方法遍历的是构造方法中给出的目录
如果构造方法中给出的目录的路径不存在,会抛出空指针异常
如果构造方法中给出的路径不是一个目录,也会抛出空指针异常
public String[] list() : 返回一个String数组,表示该File目录中的所有子文件或目录。
遍历构造方法中给出的目录,会获取目录中所有文件/文件夹的名称,把获取到的多个名称存储到一个String类型的数组中
private static void show04() { File file = new File("F:\\a\\q"); String[] arr = file.list(); for (String fileName : arr){ System.out.println(fileName); } }
public File[] lisFiles() :返回一个File数组,表示该FIle目录中的所有的子文件或目录。
遍历构造方法中给出的目录,会获取目录中所有的文件/文件夹,把文件/文件夹封装为File对象存储到File数组中
private static void show05() { File file = new File("F:\\a\\q"); File[] files = file.listFiles(); for (File f:files){ System.out.println(f); } }