File 类

File类:文件和目录路径名的抽象表示形式

1.创建新文件:createNewFile()  当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。

2.删除:delete()  删除此抽象路径名的文件或目录。

3.测试:exists() 测试次抽象路径名表示的文件名或目录是否存在。

4.创建此抽象路径名指定的目录:mkdir() \\创建此抽象路径名指定的目录,包括所有必需但不存在的父目录:mkdirs()

package day10;
import java.io.File;
import java.io.IOException;
public class TestFile {
    public static void main(String[] args) {
//      File f2 = new File("d:\\test\\test\\test");
        File f1 = new File("d:\\test\\test\\test\\a.txt");
        File f2 = new File("d:","a.txt");
        // 创建文件夹:单层目录。
        f2.mkdir();
        // 创建多层:
        f2.mkdirs();
        System.out.println(f1.getParentFile().mkdirs());
        try {
            // 创建文件
            f1.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
        boolean b1 = f1.isFile();
        boolean b2 = f1.isDirectory();
        String name = f1.getName();
        long l = f1.length();
        // 最后修改时间
        f1.lastModified();
        // 删除
        f1.delete();
        // 判断存在
        f1.exists();
        // 对于文件夹来说,只有空文件夹才能删除。
        // java中的删除,跟回收站没有关系。
    }
}

5.listFiles()  列出一个文件夹中的所有文件及文件

package day10.io;
import java.io.File;
import java.io.IOException;
public class TestFile2 {
    public static void main(String[] args) {
        File file = new File("d:\\test");
        // 列出一个文件夹中的所有文件及文件夹
        File[] fileArr = file.listFiles();
        for(File f : fileArr){
            System.out.println(f.getName());
        }
    }
}

如果想列出所有文件夹和文件夹下的所有目录:

package day10;
import java.io.File;
public class ListAllFile {
    public static void main(String[] args) {
        File file = new File("d:\\test");
        print(file);//调用print();
    }
                   
    public static void print(File file){
        File[] fileArr = file.listFiles();
        for(File f : fileArr){
            if(f.isDirectory()){
                System.out.println(f.getName());
                print(f);//  参数变化。
            }else{
                System.out.println(f.getName());
//              f.delete();
            }
        }
//      file.delete();
    }
}

6.listFiles(FileFilter filter):返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。

import java.io.File;
import java.io.FileFilter;
public class TestFileFilter {
    public static void main(String[] args) {
        File file = new File("d:\\myjava");
        // 匿名内部类+回调方式
        File[] fileArr = file.listFiles(new FileFilter(){
            @Override
            public boolean accept(File f) {
                if(f.getName().endsWith(".java")){
                    return true;
                }else{
                    return false;
                }
            }
        });// 回调
        for(File f : fileArr){
            System.out.println(f.getName());
        }
    }
}


你可能感兴趣的:(类,File)