JavaIO流-File 类

一、File 类

1.1、File 类概述和构造方法

1.1.1、File 类概述

  • File 类:是文件和目录路径名的抽象表示。
    • 文件和目录是可以通过 File 封装成对象的
    • 对于 File 而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的

1.1.2、构造方法

方法名 说明
File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File 实例
File(String parent,String child) 从父路径名字符串和子路径名字符串创建新的 File 实例
File(File parent,String child) 从父抽象路径名和子路径名字符串创建新的 File 实例

1.1.2.1、File(String pathname)

  • 通过将给定的路径名字符串转换为抽象路径名来创建新的 File 实例。
File f1 = new File("E:\\itcast\\java.txt");
System.out.println(f1);

1.1.2.2、File(String parent,String child)

  • 从父路径名字符串和子路径名字符串创建新的 File 实例。
File f2 = new File("E:\\itcast", "java.txt");
System.out.println(f2);

1.1.2.3、File(File parent,String child)

  • 从父抽象路径名和子路径名字符串创建新的 File 实例。
File f3 = new File("E:\\itcast");
File f4 = new File(f3, "java.txt");
System.out.println(f4);

1.2、File 类创建功能

方法名 说明
public boolean createNewFile() 当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空文件
public boolean mkdir() 创建由此抽象路径名命名的目录
public boolean mkdirs() 创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录

1.2.1、createNewFile()

  • 当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空文件。
File f1 = new File("D:\\itcast\\java.txt");
System.out.println(f1.createNewFile());

1.2.2、mkdir()

  • 创建由此抽象路径名命名的目录。
File f1 = new File("D:\\itcast\\javaSE");
System.out.println(f1.mkdir());

1.2.3、mkdirs()

  • 创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录。
File f1 = new File("D:\\itcast\\javaWEB\\HTML");
System.out.println(f1.mkdirs());

1.3、File 类判断和获取功能

方法名 说明
public boolean isDirectory() 测试此抽象路径名表示的 File 是否为目录
public boolean isFile() 测试此抽象路径名表示的 File 是否为文件
public boolean exists() 测试此抽象路径名表示的 File 是否存在
public String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串
public String getPath() 将此抽象路径名转换为路径名字符串
public String getName() 返回由此抽象路径名表示的文件或目录的名称
public String[] list() 返回此抽象路径名表示的目录中的文件和目录的名称字符串数组
public File[] listFiles() 返回此抽象路径名表示的目录中的文件和目录的 File 对象数组

1.3.1、isDirectory()

  • 测试此抽象路径名表示的 File 是否为目录
                    // 相对路径
File f1 = new File(".\\java.txt");
System.out.println(f1.isDirectory());

1.3.2、isFile()

  • 测试此抽象路径名表示的 File 是否为文件。
File f1 = new File(".\\java.txt");
System.out.println(f1.isFile());

1.3.3、exists()

  • 测试此抽象路径名表示的 File 是否存在。
File f1 = new File(".\\java.txt");
System.out.println(f1.exists());

1.3.4、getAbsolutePath()

  • 测试此抽象路径名表示的 File 是否为目录。
File f1 = new File(".\\java.txt");
System.out.println(f1.getAbsolutePath());

1.3.5、getPath()

  • 将此抽象路径名转换为路径名字符串。
File f1 = new File(".\\java.txt");
System.out.println(f1.getPath());

1.3.6、getName()

  • 返回由此抽象路径名表示的文件或目录的名称。
File f1 = new File(".\\java.txt");
System.out.println(f1.getName());

1.3.7、list()

  • 返回此抽象路径名表示的目录中的文件和目录的名称字符串数组。
File f1 = new File("D:\\itcast");
String[] strArray = f1.list();
for (String str : strArray){
    System.out.println(str);
}

1.3.8、listFiles()

  • 返回此抽象路径名表示的目录中的文件和目录的 File 对象数组。
File f1 = new File("D:\\itcast");
File[] fileArray = f1.listFiles();
for (File file:fileArray){
    System.out.println(file);
}

1.4、File 类删除功能

方法名 说明
public boolean delete() 删除由此抽象路径名表示的文件或目录
File file = new File("java.txt");
System.out.println(file.delete());
  • 注意:
    • 如果一个目录中有内容(目录,文件),不能直接删除。应该先删除目录中的内容,最后才能删除目录。
posted @ 2021-02-20 15:57    阅读(42)  评论(0)    收藏  举报