[java]代码库
/*
* SearchFile.java
*
* Created on 2006年8月22日, 下午4:45
*
* 找出一个目录下所有的文件
*/
package study.iostudy;
import java.io.*;
public class SearchFile {
public static void main(String[] args) {
File dirObject = new File("D:\\aa");
Filter1 filterObj1 = new Filter1("HTML");
Filter2 filterObj2 = new Filter2("Applet");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println("list HTML files in directory: " + dirObject);
String[] filesObj1 = dirObject.list(filterObj1);
for (int i = 0; i < filesObj1.length; i++) {
File fileObject = new File(dirObject, filesObj1[i]);
System.out.println(((fileObject.isFile()) ? "HTML file: "
: "sub directory: ") + fileObject);
}
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
String[] filesObj2 = dirObject.list(filterObj2);
for (int i = 0; i < filesObj2.length; i++) {
File fileObject = new File(dirObject, filesObj2[i]);
System.out.println(((fileObject.isFile()) ? "htm file: "
: "sub directory: ") + fileObject);
}
}
}
class Filter1 implements FilenameFilter {
String fileExtent;
Filter1(String extentObj) {
fileExtent = extentObj;
}
public boolean accept(File dir, String name) {
return name.endsWith("." + fileExtent);
}
}
class Filter2 implements FilenameFilter {
String fileName;
Filter2(String fileName) {
this.fileName = fileName;
}
public boolean accept(File dir, String name) {
return name.startsWith(fileName + ".");
}
}