common-io的使用(十二)下

六.一 方法


common-io的使用(十二)下


六.二 演示


可以进行 前缀,后缀,递归,不为空 等多种形式的过滤, 支持组合 and,or 。



    @Test
    public void listFileTest(){
        String dirpath="E:"+ File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc";
        File dirFile=new File(dirpath);

        System.out.println("***********第一种形式***********");
        //不为空文件,即文件的大小不能为 0
      Collection<File> cFiles=FileUtils.listFiles(dirFile, EmptyFileFilter.NOT_EMPTY,null);

      for(File f:cFiles){
          System.out.println("输出路径:"+f.getAbsolutePath());
      }

        System.out.println("***********第二种形式*******");

      //加上 AndDirs 表示 递归展示。
      Iterable<File > cFileIts= FileUtils.listFilesAndDirs(dirFile,EmptyFileFilter.NOT_EMPTY, DirectoryFileFilter.INSTANCE);

        for(File f:cFileIts){
            System.out.println("输出路径:"+f.getAbsolutePath());
        }
        System.out.println("**********第三 种形式********");

        //后缀形式
       cFiles=FileUtils.listFiles(dirFile, new SuffixFileFilter(".txt"),DirectoryFileFilter.INSTANCE);
        for(File f:cFiles){
            System.out.println("输出路径:"+f.getAbsolutePath());
        }

        System.out.println("***********第四种形式*******");
        //或者 or 的形式, 开头是 data 或者  结尾是 CHM
        cFiles=FileUtils.listFiles(dirFile,
                FileFilterUtils.or(new PrefixFileFilter("data"),new SuffixFileFilter(".CHM"))
                ,DirectoryFileFilter.INSTANCE);
        for(File f:cFiles){
            System.out.println("输出路径:"+f.getAbsolutePath());
        }

        System.out.println("***********第五种形式*******");

        // and 和的形式
        cFiles=FileUtils.listFiles(dirFile,
                FileFilterUtils.and(new PrefixFileFilter("data"),new SuffixFileFilter(".txt"))
                ,DirectoryFileFilter.INSTANCE);
        for(File f:cFiles){
            System.out.println("输出路径:"+f.getAbsolutePath());
        }

    }


运行程序,查看控制台内容:


common-io的使用(十二)下


七. 复制,移动文件和文件夹


七.一 方法


common-io的使用(十二)下


七.二 演示 复制,移动


@Test
    public void fileOperTest() throws Exception{
        String filepath="E:"+ File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
                +File.separator+"data.txt";

        String filepathCopy="E:"+ File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
                +File.separator+"datacopy.txt";

        String dirpath="E:"+ File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
                +File.separator+"a";

        String dirpathCopy="E:"+ File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
                +File.separator+"acopy";

        File file=new File(filepath);

        File dirFile=new File(dirpath);

        //复制文件
        FileUtils.copyFile(file,new File(filepathCopy));
        //复制目录
        FileUtils.copyDirectory(dirFile,new File(dirpathCopy));

        //复制文件到目录
        //FileUtils.copyFileToDirectory(new File(filepathCopy),new File(dirpathCopy));

        //复制目录到目录
        FileUtils.copyDirectoryToDirectory(dirFile,new File(dirpathCopy));

        //移动

       // FileUtils.moveFile(new File(filepathCopy),new File(file));
        //移动文件到目录
        FileUtils.moveFileToDirectory(new File(filepathCopy),new File(dirpathCopy),true);

        //FileUtils.moveDirectory();

       // FileUtils.moveDirectoryToDirectory();

        //删除文件
        FileUtils.deleteDirectory(dirFile);
    }


运行程序,查看文件系统


common-io的使用(十二)下


运行程序,查看文件系统

上一篇:1.全栈工程师Python基础


下一篇:多种方法爬取猫眼电影并分析(附代码)