列出指定目录下的文件(Java 目录和文件操作)

来源:互联网 发布:矩阵在密码学中的应用 编辑:程序博客网 时间:2024/05/01 21:10

 

import java.io.File;import java.io.FilenameFilter;public class ListFileUtil{//过滤文件static class MyFilenameFilter implements FilenameFilter   {private String surfix = ""; public MyFilenameFilter(String surfix){this.surfix=surfix;}@Overridepublic boolean accept(File dir, String name) {// TODO Auto-generated method stubif(new File(dir,name).isFile())return name.endsWith(surfix);return false;}  }// 列出所有文件夹包含的子目录的文件路径public static void listAllFiles(String dirName){if(!dirName.endsWith(File.separator))dirName+=File.separator;File dirFile = new File(dirName);if(!dirFile.exists()){System.out.println("List失败!找不到目录:"+dirName);return;}File[] files = dirFile.listFiles();for(int i=0;i<files.length;i++)if(files[i].isFile()){System.out.println(files[i].getAbsolutePath()+" 是文件");}else if(files[i].isDirectory()){System.out.println(files[i].getAbsolutePath()+" 是目录");ListFileUtil.listAllFiles(files[i].getAbsolutePath());}}//列出目录中用过滤器过滤后的文件public static void listFilesByFilenameFilter(FilenameFilter filter,String dirName){if(!dirName.endsWith(File.separator))dirName+=File.separator;File dirFile = new File(dirName);if(!dirFile.exists()||(!dirFile.isDirectory())){System.out.println("List失败!找不到目录:"+dirName);return;}File[] files = dirFile.listFiles(filter); //以指定的过滤器过滤文件for(int i=0;i<files.length;i++)if(files[i].isFile()){System.out.println(files[i].getAbsolutePath()+" 是文件");}else if(files[i].isDirectory()){System.out.println(files[i].getAbsolutePath()+" 是目录");ListFileUtil.listAllFiles(files[i].getAbsolutePath());}}public static void main(String[] args){String dir = "D:/360";System.out.println(dir+"目录下的内容:");ListFileUtil.listAllFiles(dir);System.out.println();System.out.println("经过过滤器过滤后的文件:");FilenameFilter myFilenameFilter = new ListFileUtil.MyFilenameFilter(".txt");ListFileUtil.listFilesByFilenameFilter(myFilenameFilter, dir);}}


 

原创粉丝点击