File

File类

1.相关方法
  1. 新建对象,而不是文件(file为地址);

    1. 自定义地址创建

      File file = new File("/demo");
      
    2. 在指定目录下创建[只在大量创建子目录时使用]

      File file = new File(mkdir,"demo");
      
  2. 显示File信息

    1. 地址

      file;//方法1
      String path = file.getPath();//方法2
      
    2. 文件/目录名

      String name = file.getName();
      
    3. 绝对地址=绝对名字

      File AbsoluteFile = file.getAbsoluteFile();//方法1
      String absolutePath = file.getAbsolutePath();//方法2:absolluteFile().tostring();
      
  3. 检测

    1. 是否是目录或文件

      boolean exists = file.exists();
      
    2. 是否是目录

      boolean directory = file.isDirectory();
      
    3. 是否是目录

      boolean file = file.isFile();
      
  4. 创建/删除

    1. 创建目录(A必须存在)

      File mkdir= new File("D:\\A\\C");
      mkdir.mkdir();
      
    2. 创建多级目录

      File mkdirs= new File("D:\\A\\C");
      mkdirs.mkdirs();
      
    3. 创建文件(需要处理IOException)

      文件可能被占用

      file.createNewMkdir();
      
    4. 删除文件目录

      不能删除非空目录,见案例详述

      file/mkdir.delete();
      
  5. 其他

    1. 文件目录大小

      long length = file/mkdie.length();
      
    2. 返回目录下的所有文件和目录地址

      File[] list = mkdir.listFile();
      
    3. 返回目录下的所有文件和目录名

      String[] list = mkdir.listFile();
      
  6. 临时目录

    前缀最少3位数,并且是生成以前缀为开头的随机文件名

    1. 新建临时文件夹

      File.createTempFile("前缀","后缀");
      
    2. 在指定目录下创建临时文件夹

      File.createTempFile("前缀","后缀","指定目录");
      
  7. 案例(删除非空目录)

    1. 方法1

      public static void delete1(File file) {
      	if (file.exists()) {
      		if (file.isFile()) {
      			file.delete();
      		} else {
      			File[] list = file.listFiles();
      			for (File file2 : list) {
      				file2.delete();
      			}
      			file.delete();
                  syso("删除完毕");
      		}
      	}else {
      		System.out.println("要删除的文件或目录不存在");
      	}
      }
      
    2. 方法2(return)迭代方法

      public static void delete2(File file) {
      	if(!file.exists()) {
      		return;
      	}else if(file.isFile()) {
      		file.delete();
      		return;
      	}else {
      		File[] files = file.listFiles();
      		for(File file2 :files) {
      			delete2(file2);
      		}
      		file.delete();
      	}
      	System.out.println("删除完毕");
      }
      
2.FileNameFilter

​ 函数式接口

  1. 实现方法:

    1. 新建类实现FileNamefilte,重写accept(File dir,String name)方法 dir:父目录,name:字文件目录名称
    2. 1中类返回满足的要求
  2. 案例

    public boolean accept(File dir, String name) {
    		boolean endsWith = name.endsWith(".f");
    		//name只有new File才能使用File的方法
    		//boolean directory = new File(name).isDirectory();
    		return endsWith;
    }
    
  3. FileNameFilter与FileFilter的区别

    1. 传入参数不同,FileFilter也实现accept但是传入(File file)方法
    2. FileFilter不适用于file.list()方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值