5_学习Java操作文件file

文件操作,和过滤器

  1. 创建文件: file.createNewFile();
    获取文件的名字: file.getName();
    获取file表示的文件或目录的长度(大小) file.length();
    文件是否存在: file.exists();
    ==========================================================

    创建单级文件夹,文件上一级目录必须存在,不存在不会报错但是不会创建 :dir.mkdir();

    创建多级文件夹 :dir1.mkdirs();

    判断是否是一个目录 :dir1.isDirectory();
    获取目录的所有子项 :File[] subs = dir3.listFiles();
    删除文件或目录 :dir1.delete();

     获取文件的名字创建文件  //访问已知文件,没有这个文件也不会报错
      File file = new File("C:\\Users\\admin\\Desktop\\Dome.txt");
      
      //创建文件,创建文件时,文件上一级路径必须有,不然报错,比如:"C:\\Users\\admin\\Desktop\\11\\Dome.txt"
      //注意抛出异常Alt+Enter,抛出不报错即可,现在主要是文件操作
      file.createNewFile();
    
      //获取文件的名字
      String name = file.getName();
      System.out.println("文件名name: "+name);
    
      //获取file表示的文件或目录的长度(大小)
      long len = file.length();
      System.out.println("文件长度len: "+len);
      
      boolean Hidden = file.isHidden();//文件是否是隐藏的
      System.out.println(Hidden);
    
      boolean cr = file.canRead();//文件是否可读
      System.out.println(cr);
    
      boolean cw = file.canWrite();//文件是否可写
      System.out.println(cw);
      
      boolean is = file.exists();//文件是否存在
      System.out.println(is);
    
    //题目:创建10个文件,文件名由1到10,如果文件存在则不需要重复创建
    for (int a=1;a<=10;a++){
      //定义文件名
      String fileName = a + ".txt";//字符串拼接
    
      // 定义文件目录,你定义的那个目录之后你创建的文件就在那个目录
      String file目录 = "C:\\Users\\admin\\Desktop\\新创建的文件\\";//你们用英文
    
      //文件路径
      String file文件路径 = file目录+fileName;
      System.out.println(file文件路径);
    
      //访问文件
      File file1 = new File(file文件路径);
      //检查文件是否存在,不存在创建
      if (file1.exists()){
          System.out.println("该文件"+fileName+"已经存在");
      }else {
          System.out.println("文件不存在创建");
          //不存在就创建
          file1.createNewFile();
    
      }
    
    //简化
    for (int i=1;i<=10;i++){
      //访问文件
      File file2 = new File("C:\\Users\\admin\\Desktop\\新创建的文件\\"+ i + ".txt");
      //检查是否存在,这一步检查可不写直接创建也行:file1.createNewFile();新创建文件不会覆盖掉原有文件,py会覆盖
      if (!file1.exists()){
          file2.createNewFile();
      }
    } 
    
    File dir3 = new File("C:\\Users\\admin\\Desktop\\新创建的文件");
    //创建单级文件夹,文件上一级目录必须存在,不存在不会报错但是不会创建
    dir.mkdir();
    //创建多级文件夹
    dir1.mkdirs();
    //判断是否是一个目录
    boolean a  = dir1.isDirectory();
    
    //获取目录的所有子项
        File[]  subs = dir3.listFiles();
    for (File sub : subs) {
        System.out.println(sub.getName());
    }
    
    //删除文件或目录,如果删除的是目录,该目录下不能存在任何内容,不然删除不了
    dir1.delete();
    
  2. 过滤器

    //过滤器FileFilter
    FileFilter fileFilter = new FileFilter() {
        @Override
        public boolean accept(File file) {
            String name = file.getName();
            return name.endsWith(".txt");
        }
    };
    //获取目录的所有子项
    File[]  subs1 = dir3.listFiles(fileFilter);
    for (File sub : subs1) {
        System.out.println(sub.getName());
    }
    
    
    简化
    File[]  subs1 = dir3.listFiles((File file) ->{
                    String name = file.getName();
                    return file.getName().endsWith(".txt");
                });
    
    

    在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值