/* |
* 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 + "." ); |
} |
} |