common-io的使用(十二)下

简介: common-io的使用(十二)

六.一 方法


image.png


六.二 演示


可以进行 前缀,后缀,递归,不为空 等多种形式的过滤, 支持组合 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());
        }
    }


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


20200619085544759.png


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


七.一 方法


image.png


七.二 演示 复制,移动


@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);
    }


运行程序,查看文件系统


20200619085553761.png


运行程序,查看文件系统

相关文章
|
3月前
|
Java
【JavaEE】IO 操作
【JavaEE】IO 操作
|
6月前
|
Java
java IO接口(Input)用法demo
java IO接口(Input)用法demo
|
8月前
|
IDE Java Apache
commons-io如何添加和常见的用法
commons-io如何添加和常见的用法
299 0
|
9月前
|
编译器 Linux vr&ar
基础IO+文件(三)
基础IO+文件
46 0
|
9月前
|
缓存 Linux C语言
基础IO+文件(一)
基础IO+文件
50 0
|
9月前
|
存储 Linux 块存储
基础IO+文件(二)
基础IO+文件
42 0
|
9月前
|
网络协议 Java Unix
【Java面试】说说NIO和IO的区别,再说说Linux支持那些IO模型?
【Java面试】说说NIO和IO的区别,再说说Linux支持那些IO模型?
72 0
|
设计模式 存储 自然语言处理
5:IO Stream-Java API 实战
5:IO Stream-Java API 实战
78 0
5:IO Stream-Java API 实战