crabdave 发表于 2013-2-6 10:08:09

Listing all files from a directory with a giving suffix

Listing all files from a directory with a giving suffix
 
       最近办离职,需要列一下代码清单,网上找了段程序,保留一下。
import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class FilesReader {private static final String READ_PATH = "D:/WebRoot/market";//private static final String SUFFIXAL_PATH = "java";private static final String SUFFIXAL_PATH = "jsp";//private static final String SUFFIXAL_PATH = "js";/** * @param args */public static void main(String[] args) {List arrayList = FilesReader.getListFiles(READ_PATH, SUFFIXAL_PATH, true);if (arrayList.isEmpty()) {System.out.println("没有符号要求的文件");} else {String message = "";message += "符号要求的文件数:" + arrayList.size() + "\r\n";System.out.println(message);//String lastPath="";for (Iterator i = arrayList.iterator(); i.hasNext();) {String temp = (String) i.next();String path=temp.substring(0, temp.lastIndexOf("\\"));String name=temp.substring(temp.lastIndexOf("\\")+1,temp.length());//System.out.println(temp);//if(!lastPath.equals(path)){//lastPath=path;//System.out.println("\n");//}System.out.println(name+"\t\t\t\t\t"+path);message += temp + "\r\n";}//appendMethod("d:/ajax/menu.txt", message);}}public static List<String> fileList = new ArrayList<String>();/** ** @param path *            文件路径 * @param suffix *            后缀名 * @param isdepth *            是否遍历子目录 * @return */public static List getListFiles(String path, String suffix, boolean isdepth) {File file = new File(path);return FilesReader.listFile(file, suffix, isdepth);}public static List listFile(File f, String suffix, boolean isdepth) {// 是目录,同时需要遍历子目录if (f.isDirectory() && isdepth == true) {File[] t = f.listFiles();for (int i = 0; i < t.length; i++) {listFile(t, suffix, isdepth);}} else {String filePath = f.getAbsolutePath();if (suffix != null) {int begIndex = filePath.lastIndexOf(".");// 最后一个.(即后缀名前面的.)的索引String tempsuffix = "";if (begIndex != -1)// 防止是文件但却没有后缀名结束的文件{tempsuffix = filePath.substring(begIndex + 1, filePath.length());}if (tempsuffix.equals(suffix)) {fileList.add(filePath);}} else {// 后缀名为null则为所有文件fileList.add(filePath);}}return fileList;}/** * 方法追加文件:使用FilesReader ** @param fileName * @param content */public static void appendMethod(String fileName, String content) {try {// 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件FileWriter writer = new FileWriter(fileName, true);writer.write(content + "\r\n");writer.close();} catch (IOException e) {e.printStackTrace();}}} 
页: [1]
查看完整版本: Listing all files from a directory with a giving suffix