public File[] listFiles(FilenameFilter filter)
这个方法怎么用?
怎么实现FilenameFilter 借口?
boolean accept(File dir,String name)方法体怎么写?
麻烦举个例子说明下
例如怎么列出d:\\temp下的所有.java文件
这个方法怎么用?
怎么实现FilenameFilter 借口?
boolean accept(File dir,String name)方法体怎么写?
麻烦举个例子说明下
例如怎么列出d:\\temp下的所有.java文件
class FileTest{
public FileTest(){
File file = new File(".");//当前目录
MyFilter filter = new MyFilter();
File[] files = file.listFiles( filter );
for( File f : files )
System.out.println( f.getName() );
}
public static void main( String[] args ){
new FileTest();
}
class MyFilter implements FilenameFilter{
public boolean accept(File dir,String fileName){
if( fileName.endsWith(".java") )
return true;
return false;
}
}
}
public static void main(String[] args) {
File parent = new File("/home/wenwen/program/java/");
File[] files = parent.listFiles(new JavaFileFilter());
for (File file : files) {
System.out.println(file.getName());
}
}
}class JavaFileFilter implements FileFilter {
public boolean accept(File file) {
if (file.isDirectory() || !file.exists())
return false;
String fileName = file.getName();
if (fileName.endsWith(".java"))
return true;
return false;
}
}随便写了个,楼主看看符不符合你的要求
java.io包中还有个FilenameFilter接口,是专门用来对文件名进行过滤的,你可以实现它,然后传给
File.list(FilenameFilter filter)方法,它将返回String[]
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.StringReader;
import java.net.URI;import org.luyang.lang.RegularExpressions;public class FilePathRead {
public static void main(String[] args){
FilePathRead t = new FilePathRead();
t.find(new File("C:\\j2sdk1.4.2_10"));
}
public void find(File f){
if(f.isDirectory()){
File[] fileList = f.listFiles();
for(int i = 0; i < fileList.length; i++){
find(fileList[i]);
}
}else{
if(f.getName().endWith(".java"))
System.out.println(f.getAbsolutePath());
}
}