当需要把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作。

当把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操作。

因此我们把这种输入和输出动作称为IO操作。

public static void main(String[] args) {
    //File类:
    //文件:file
    //目录(文件夹):directory
    //路径:path
    //与系统有关的路径分隔符windows  ;        linux  :    
    System.out.println(File.pathSeparator);
    //与系统有关的路径名称分隔符windows \      linux    /
    System.out.println(File.separator);
    }

 

//查询txt结尾文档
    public static void main(String[] args) {
        File file=new File("D:\\java\\a.txt");
        System.out.println(file);
        File file2=new File("D:\\java","a.txt");
        System.out.println(file2);
        File parent=new File("D:\\java");
        File file3=new File(parent,"a.txt");
        System.out.println(file3);
    }

public static void main(String[] args) throws IOException {
        method01();
        //method02();
        //method03();
        method04();
        method05();
    }
    public static void method01(){
        File file=new File("D:\\java\\a.txt");
        //获取文件对象的绝对路径
        //相对路径:D:eclipsework\Day16\
        System.out.println(file.getAbsolutePath());
        //获取文件对象的文件名或者目录名
        System.out.println(file.getName());
        //获取文件对象的路径所对应的字符串
        System.out.println(file.getPath());
        //获取文件的长度(大小(字节))
        System.out.println(file.length());
    }
    //文件的创建
    public static void method02() throws IOException{
        File file=new File("D:\\java\\d");
        //创建文件
        boolean flag=file.createNewFile();
        System.out.println(flag);
    }
    //文件的删除
    public    static void method03(){
        File file=new File("D:\\java\\d");
        //删除文件
        boolean flag=file.delete();
        System.out.println(flag);
    }
    //文件判断
    public static void method04(){
        File file=new File("D:\\java\\a.txt");
        //判断该文件对象所对应的文件是否存在
        System.out.println(file.exists());
        //判断该文件对象是否是文件夹
        System.out.println(file.isDirectory());
        //判断该文件对象是否是文件
        System.out.println(file.isFile());
    }
    //创建文件夹
    public static void method05(){
        File file=new File("D:\\java\\c\\d\\e");
        boolean flag=file.mkdirs();
        System.out.println(flag);
    }

public static void main(String[] args) {
        //method01();
        //method02();
        method03();
    }
    public static void method01(){
        File file=new File("D:\\java");
        //获取该路径下的文件和文件夹
        String[] arr=file.list();
        //遍历
        for(String s:arr){
            System.out.println(s);
        }
    }
    public static void method02(){
        File file=new File("D:\\java");
        //获取该路径下的文件和文件夹所对应的文件对象
        File[] files=file.listFiles();
        for(File f:files){
            System.out.println(f);
        }
    }
    public static void method03(){
        File file=new File("D:\\java");
        //获取该路径下的文件和文件夹所对应的文件对象
        File[] files=file.listFiles(new MyFileFilter());
        for(File f:files){
            System.out.println(f);
        }
    }

//结合Demo04

public class MyFileFilter implements FileFilter {

    @Override
    public boolean accept(File pathname) {
        
        /*//获取文件名
        String filename=pathname.getName();
        //判断改文件名是否以.txt结尾
        boolean flag=filename.endsWith(".txt");
        return flag;*/

        return pathname.getName().endsWith(".txt");
    }