Java语言基础九(File类)

File类

基本概念

-- java.io.File类主要用于描述文件或目录路径的抽象表示信息,可以获取文件或目录的特征信息,如:大小等。

常用的方法 :(文件的操作)

方法声明 功能介绍
File(String pathname) 根据参数指定的路径名来构造对象
File(String parent, String child) 根据参数指定的父路径和子路径信息构造对象
File(File parent, String child) 根据参数指定的父抽象路径和子路径信息构造对象
boolean exists() 测试此抽象路径名表示的文件或目录是否存在
String getName() 用于获取文件的名称
long length() 返回由此抽象路径名表示的文件的长度
long lastModified() 用于获取文件的最后一次修改时间
String getAbsolutePath() 用于获取绝对路径信息
boolean delete() 用于删除文件,当删除目录时要求是空目录
boolean createNewFile() 用于创建新的空文件

常用的方法 :(目录的操作)

方法声明 功能介绍
boolean mkdir() 用于创建目录
boolean mkdirs() 用于创建多级目录
File[] listFiles() 获取该目录下的所有内容
boolean isFile() 判断是否为文件
boolean isDirectory() 判断是否为目录
File[] listFiles(FileFilter filter) 获取目录下满足筛选器的所有内容

案例:
实现指定目录以及子目录中所有内容的打印。(例如:目录层级为:D:/一级目录/二级目录/三级目录/a.txt)

public class FileTest {

    // 实现指定目录以及子目录中所有内容的打印
    public static void show(File file) {
        // 获取目录下的所有内容并记录到一维数组中
        File[] filesArray = file.listFiles();
        // 遍历数组
        for (File tf: filesArray) {
            String name = tf.getName();
            // 判断是否为文件,若是则直接打印文件名称
            if (tf.isFile()) {
                System.out.println(name);
            }
            // 若是目录,则使用[]将目录名称括起来
            if (tf.isDirectory()) {
                System.out.println("[" + name + "]");

                show(tf);           // 使用递归的思想获取目录以及子目录中的内容
            }
        }
    }

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

         
        show(new File("D:/一级目录"));
    }
}

你可能感兴趣的:(Java语言基础九(File类))