六.一 方法
六.二 演示
可以进行 前缀,后缀,递归,不为空 等多种形式的过滤, 支持组合 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()); } }
运行程序,查看控制台内容:
七. 复制,移动文件和文件夹
七.一 方法
七.二 演示 复制,移动
@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); }
运行程序,查看文件系统
运行程序,查看文件系统