zoukankan      html  css  js  c++  java
  • BigData11 File类 FilenameFilter过滤器过滤文件

    一.File类

    1.创建File实例对象:File f  =  new File("c:/demo",);   指定抽象路径

           根据父子字符串拼接成一个File对象 : File  f =  new  File("c:/", "dog.jpg");

    2. File对象创建的是目录还是文件,看调用的方法

           mkdir()创建的是目录  

      createNewFile()创建的是文件    返回值都是boolean型   是否创建成功

      

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

         File f6 = new File("c:/a/b/c/d/e");

         boolean bol4 = f6.mkdirs();

     3.  删除目录 ,智能删除空目录

      //删除目录(目录里没有东西)

      File f7 = new File("c:/demo");
      boolean bol1 = f7.delete();

     1 package filedemo;
     2 
     3 import java.io.File;
     4 import java.io.IOException;
     5 /*
     6  * createNewFile() //创建文件
     7           当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件
     8  * mkdir() //创建文件夹
     9           创建此抽象路径名指定的目录
    10    mkdirs() //级联创建
    11           创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
    12    delete() 
    13           删除此抽象路径名表示的文件或目录(只能删空文件夹)   不进回收站    
    14      
    15  */
    16 public class FileDemo {
    17     public static void main(String[] args) throws IOException {
    18         //根据路径创建文件对象
    19         //File f1 = new File("c:\\dog.jpg");
    20 //        File f1 = new File("c:/dog.jpg");
    21         
    22         //根据父子字符串拼接成一个file对象
    23 //        File f2 = new File("c:/","dog.jpg");
    24         
    25         //根据已经存在的file对象和子字符串构建file对象
    26         File f3 = new File("c:/demo");
    27         //File f4 = new File(f3,"dog110txt");
    28         
    29         //创建文件createNewFile()
    30         File f4 = new File(f3,"hello.txt");
    31         boolean bol = f4.createNewFile();
    32         System.out.println(bol);//创建成功打印true,如果已经存在,不能创建
    33         
    34         //创建目录mkdir()
    35 //        File f5 = new File("c:/08.txt");
    36 ////    boolean bol = f5.mkdir();
    37         //创建文件createNewFile()
    38     //    boolean bol = f5.createNewFile();
    39     //    System.out.println(bol);
    40         
    41         //创建文件夹,父目录父目录不存在,创建返回值false
    42          // 创建文件 父目录不存在,报错
    43         File f6 = new File("c:/a/b/c/d/e");
    44         //boolean bol4 = f6.mkdir();
    45         
    46         //级联创建mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录
    47         boolean bol4 = f6.mkdirs();
    48         System.out.println(bol4);
    49 
    50         
    51 //        File f = new File("c:/06/gog.jpg");
    52 //        boolean bol  =  f.delete();
    53         
    54         //删除目录(目录里没有东西)
    55         File f7 = new File("c:/demo");
    56         boolean bol1 = f7.delete();
    57         System.out.println(bol1);
    58     }
    59 }
    File类 文件 目录的创建 删除

     1 package filedemo;
     2 
     3 import java.io.File;
     4 import java.io.IOException;
     5 import java.util.Date;
     6 /*
     7  * createNewFile() //创建文件
     8           当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件
     9  * mkdir() //创建文件夹
    10           创建此抽象路径名指定的目录
    11    mkdirs() //级联创建
    12           创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
    13    delete() 
    14           删除此抽象路径名表示的文件或目录(只能删空文件夹)   不进回收站    
    15      
    16  */
    17 public class FileDemo3 {
    18     public static void main(String[] args) throws IOException {
    19         //根据路径创建文件对象
    20         //lastModified()  文件最后修改日期 
    21         File f =  new File ("c:/demo");
    22         System.out.println(new  Date(f.lastModified()));
    23         System.out.println(f.length());
    24         System.out.println(f.getName());
    25         System.out.println(f.getPath());
    26         System.out.println(f.getParent());
    27         System.out.println(f.getAbsolutePath());
    28         
    29     }
    30 }

    FilenameFilter 实现此接口的类实例可用于过滤器文件名。

     

    package filedemo;
    
    import java.io.File;
    import java.io.FilenameFilter;
    
    /*
     *FilenameFilter 实现此接口的类实例可用于过滤器文件名。
     *
     * 获取某个盘符下的指定类型的文件信息
        例:获取c盘下的所有jpg图片信息:大小,文件名
    
            分析:
                1.首先获取到c盘下所有的file对象
                2.遍历这个数组,把符合条件的文件找到(图片:首先它是一个文件,其次它的文件名的结尾是".jpg")
                    for(){
                        files[i] .isFile() && files[i].getName().endsWith(".jpg")
                    }
                3.输出它的信息即可
     */
    public class FileDemo5 {
    
        public static void main(String[] args) {
            //封装一个盘符成file对象
            File f = new File("c:/");
            
            //获取盘符下所有文件组成的数组
    //        File[] files = f.listFiles();
    //        //遍历
    //        for (File file : files) {
    //            if(file.isFile() && file.getName().endsWith(".jpg")){
    //                System.out.println("文件名是: "+file.getName() +",大小是: " + file.length()+"字节");
    //            }
    //        }
            
            //FilenameFilter 接口   方法accept()  过滤器文件名
            String[] files = f.list(new FilenameFilter() {
                
                @Override
                public boolean accept(File dir, String name) {
                    //根据传递的参数构建一个file对象
                    File file = new File(dir,name);
                    //对这个对象进行判断
                    if(file.isFile() && name.endsWith(".jpg")){
                        return true;
                    }
                    return false;
                }
            });
            
            
            //遍历
            for (String file : files) {
                File file2 = new File("c:/",file);
                System.out.println(file2.getName()+","+file2.length());
            }
        }
    
    }
    FilenameFilter过滤器
     1 package demo2;
     2 
     3 import java.io.File;
     4 
     5 /*
     6  * 批量更改某个文件夹下的文件名
     7     1.去掉某些标志
     8     c:/小说
     9     1.封装file对象
    10     2.得到这个file对象下所有的子文件的file数组
    11     3.遍历数组,改名
    12  */
    13 public class FileRenameDemo {
    14 
    15     public static void main(String[] args) {
    16         File folder = new File("c:/小说");
    17         File[] arr = folder.listFiles();
    18         
    19         for (File file : arr) {
    20             String oldName = file.getName();//得到每个文件的名字
    21             int index = oldName.indexOf("_");//找到所中符号的索引
    22             String newName = oldName.substring(index + 1);//字符串剪切
    23             //把修改完的名字和路径连起来,创建file对象
    24             File f2 = new File(folder,newName);
    25             
    26             //将file重命名成f2的新的名字的格式
    27             file.renameTo(f2);
    28         }
    29         
    30         
    31 
    32     }
    33 
    34 }
    批量修改文件名字

     

      

  • 相关阅读:
    cf 786B. Legacy(线段树区间建图)
    cf 1416D. Graph and Queries (生成树重构+线段树维护dfs序)
    cf 1437E. Make It Increasing
    cf 1434D. Roads and Ramen (树上最长偶权链)
    cf 1413C (贪心排序+双指针)
    cf 1421E. Swedish Heroes (dp)
    CF1428 F.Fruit Sequences
    11.Redis详解(十一)------ 过期删除策略和内存淘汰策略
    10.Redis详解(十)------ 集群模式详解
    9.Redis详解(九)------ 哨兵(Sentinel)模式详解
  • 原文地址:https://www.cnblogs.com/star521/p/8425607.html
Copyright © 2011-2022 走看看