文件的基本操作:

判断是否是文件:file.isFile());

判断是否是路径:file.isDirectory());

判断是否存在关联(文件或目录是否存在):file.exists()

文件名:file.getName()

文件大小: file.length()

文件最后修改时间:file.lastModified()

文件路径: file.getAbsolutePath()

文件父级路径:file.getParentFile()

文件是否可读: file.canRead()

文件是否可写: file.canWrite()

文件是否隐藏: file.isHidden()

创建多级目录(常用,能够创建多个不存在的目录):file.mkdirs

创建目录(如果创建中有多个目录不存在则不存则无法创建成功):file.mkdir

创建父级目录:file.getParentFile().mkdirs()

创建文件(需要存在父级目录才能成功的创建文件,与file.getParentFile().mkdirs()结合使用):file.createNewFile()

获取文件夹中的所有文件:file.list()

获取文件夹中指定后缀的文件:file.list(new ImageFilter())

遍历文件夹中的所有文件
String[] list1 = file.list();
for (String s : list1) {
    System.out.println("显示指定的文件:" + s);
}
遍历文件夹中指定类型的文件

实现FilenameFilter方法中的accept方法

class ImageFilter implements FilenameFilter {
    // 实现 FilenameFilter 接口
    @Override
    public boolean accept(File dir, String name) {
        // 指定允许的文件类型
        return name.endsWith(".sys") || name.endsWith(".txt") || name.endsWith(".bak");
    }
}

list中传入ImageFilter对象

String[] list1 = file.list(new ImageFilter());
for (String s : list1) {
    System.out.println("显示指定的文件:" + s);
}
完整代码
package com.origin.io.file;

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;

public class JavaIOFile {
    public static void main(String[] args) {
        // TODO Java IO - 文件流
        // TODO File :文件类型,属于java.io
        // 创建文件对象,使用文件路径关联系统文件
        /*测试文件,打开注释要打开下方的"测试文件路径",注释掉"测试文件路径"---------------------------------------------------------*/
//        String filePath = "C:\\Users\\Yan\\IdeaProjects\\JavaProject\\myNote\\resources\\data\\data.txt";

        // 创建文件路径,关联文件路径

        /*测试文件路径,打开注释要打开下方的"测试文件路径",注释掉"测试文件路径"---------------------------------------------------------*/
         String filePath = "C:\\Users\\Yan\\IdeaProjects\\JavaProject\\myNote\\resources\\data\\test";

        File file = new File(filePath);
        // 文件对象操作
        System.out.println("文件路径:" + file);
        System.out.println("判断是否是文件:" + file.isFile());
        System.out.println("判断是否是路径:" + file.isDirectory());
        System.out.println("判断是否存在关联(存在文件或者存在文件夹则为存在关联):" + file.exists());
        System.out.println("------------------------------------------------------");
        if (file.exists()) { // 判断是否存在关联(存在文件或者存在文件夹则为存在关联)
            // TODO 文件对象存在的情况
            System.out.println("有这个文件,关联成功");
            if (file.isFile()) { // 判断是否是文件
                System.out.println("文件对像关联是一个文件");
                System.out.println("文件名:" + file.getName());
                System.out.println("文件大小:" + file.length());
                System.out.println("文件最后修改时间:" + file.lastModified());
                System.out.println("文件路径:" + file.getAbsolutePath());
                System.out.println("文件是否可读:" + file.canRead());
                System.out.println("文件是否可写:" + file.canWrite());
                System.out.println("文件是否隐藏:" + file.isHidden());
//                System.out.println("文件是否删除成功:"+file.delete());
            } else if (file.isDirectory()) { // 判断是否是路径
                System.out.println("对象是一个目录");
                System.out.println("目录名:" + file.getName());
                System.out.println("目录最后修改时间:" + file.lastModified());
                System.out.println("文件路径:" + file.getPath());
                System.out.println("目录绝对路径:" + file.getAbsolutePath());
                System.out.println("------------------------------------------------------");
                // 获取文件夹下的全部文件
                String[] list = file.list();
                for (String s : list) {
                    System.out.println("目录中的文件:" + s);
                }
                System.out.println("------------------------------------------------------");
                // 获取文件夹下指定后缀的文件
                String[] list1 = file.list(new ImageFilter());
                for (String s : list1) {
                    System.out.println("显示指定的文件:" + s);
                }
                System.out.println("------------------------------------------------------");
                // 只会删除最后一级的目录
//                System.out.println("目录是否删除成功:"+file.delete());
            }
        } else {
            // TODO 文件对象不存在的情况下进行的操作
            /*测试文件路径---------------------------------------------------------*/
            System.out.println("没有这个文件,没有关联成功");
            // 文件不存在则创建文件,创建目录
            file.mkdirs();
            System.out.println("路径创建成功");

            /*测试文件---------------------------------------------------------*/
            // getParentFile获取对象父级目录,file.getParentFile().mkdirs()生成父级文件夹,为了使createNewFile找不到父级文件产生异常,要建立父级文件。
//            file.getParentFile().mkdirs();
//            try {
//                // 文件不存在则创建新文件,创建文件,父级文件夹不存在则无法创建
//                file.createNewFile();
//                System.out.println("文件创建成功");
//            } catch (IOException e) {
//                throw new RuntimeException(e);
//            }
        }
    }
}

class ImageFilter implements FilenameFilter {
    // 实现 FilenameFilter 接口
    @Override
    public boolean accept(File dir, String name) {
        // 指定允许的文件类型
        return name.endsWith(".sys") || name.endsWith(".txt") || name.endsWith(".bak");
    }
}