File类

File类的作用
可以用来表示磁盘上的某个文件或者某个文件夹
File类的构造
public File(String pathname);以指定的路径创建File对象
public File(String parent,String child);以指定父路径和子路径创建File对象 
public File(File parent,String child);以指定父File对象和子路径创建File对象    
public class FileDemo01 {
    public static void main(String[] args) {
        //File类的构造方法
        //1.直接指定路径
        File f1 = new File("C:\Users\Administrator\Desktop\temp\aaa\1.txt");
        System.out.println(f1);
        File f2 = new File("C:\Users\Administrator\Desktop\temp\aaa\111");
        System.out.println(f2);
        //2.以指定父路径和子路径创建File对象
        File f3 = new File("C:\Users\Administrator\Desktop","temp\aaa\1.txt");
        System.out.println(f3);
        //3.以指定父File对象和子路径创建File对象
        File parent = new File("C:\Users\Administrator\Desktop");
        File f4 = new File(parent,"temp\aaa\1.txt");
        System.out.println(f4);
    }
}
File类的方法
public String getAbsolutePath(); 获取文件的绝对路径
public String getPath(); 获取构造时传入的路径
public String getName(); 获取名字(不带路径)
public int length();获取大小(单位字节)
File类的判断方法
public boolean isFile(); 判断是否为文件
public boolean isDirectory();判断是否为文件夹
public boolean exists();判断是否存在
File类的创建删除方法
public boolean createNewFile();创建文件
public boolean mkdir();创建一级文件夹    
public boolean mkdirs();创建多级文件夹        
public boolean delete();删除文件或者"空"文件夹   

注意:
  a.只有存在的情况下才能删除成功,只有不存在的情况下才能创建成功
  b.删除时如果是非空的文件夹,也会删除失败
  c.创建时如果多级文件夹,必须使用mkdirs,使用mkdir也会创建失败

File类遍历目录的方法
public String[] list();列出当前目前下所有文件或者文件夹的名字
public File[] listFiles(); 列出当前目前下所有文件或者文件夹的File对象   
文件搜索案例  递归
需求:
    在一个指定的目录中查找指定后缀的文件    
    指定的目录: C:UsersAdministratorDesktop	empaaa
    指定的文件: xx.txt文件
        
public class RecursionDemo04 {
    public static void main(String[] args) {
        //需求:
        //在一个指定的目录中查找指定后缀的文件
        //指定的目录: C:UsersAdministratorDesktop	empaaa
        //指定的文件: xx.txt文件
        File fileDir = new File("C:\Users\Administrator\Desktop\temp\aaa");
        printTxtFile(fileDir);
    }
    //打印指定目录下的所有.txt文件
    public static void printTxtFile(File ff){
        //1.调用遍历目录的方法
        File[] files = ff.listFiles();
        //2.循环
        for (File file : files) {
            //3.判断
            if (file.isFile() && file.getName().endsWith(".txt")) {
                System.out.println(file);
            } else if (file.isDirectory()){
                //4.遍历这个文件夹,打印其中的.txt文件
                printTxtFile(file);//递归
            }
        }
    }
}  
原文地址:https://www.cnblogs.com/xiaozhang666/p/13197291.html