/*name:FileTypeFilter
*
*Date:2011/06/02
*Ver:1.0
*/
import java.io.*;
public class FileTypeFilter
{
/*实现后缀过滤方法: filePath参数为文件路径名, fileType为过滤后缀*/
public void filter(String filePath,String fileType)
{
/*创建File对象*/
File f=new File(filePath);
/*如果是路径则列出子文件*/
if(f.isDirectory())
{
/*列出File对象的所有子文件*/
File[] fList=f.listFiles();
/*遍历*/
for(int i=0;i<fList.length;i++)
{
/*满足文件和指定的后缀时输出*/
if(fList[i].isFile()&&fList[i].getName().endsWith(fileType))
{
System.out.println(fList[i].getName());
}
}
}
}
}
import java.io.*;
import java.util.Scanner;
public class FileTypeFilterTest
{
public static void main(String[] args)
{
FileTypeFilter ftf=new FileTypeFilter();
Scanner sc=new Scanner(System.in);
String filePath=new String();
String fileType=new String();
System.out.print("请输入文件目录:");
filePath=sc.next();
System.out.print("请输入后缀名: ");
fileType=sc.next();
ftf.filter(filePath,fileType);
}
}
参考了http://blog.nlogn.cn/?p=231
另一种方法,使用了JAVA的接口:
/**
* FileFilter code
*/
import java.io.File;
import java.io.FilenameFilter;
public class FileFilter implements FilenameFilter {
private String str;
public FileFilter(String str){
this.str=str;
}
public boolean accept(File dir, String name) {
if(name!=null)
if(name.indexOf(str)!=-1){
return true;
}
return false;
}
}
/**
* Test code
*/
import java.io.File;
import java.io.FilenameFilter;
import java.util.Date;
public class Test {
public static void main(String[] args) {
String filePath="C:/windows";
String filterName=".exe";
FilenameFilter ff = new FileFilter(filterName);
File f = new File(filePath);
String[] fff=f.list(ff);
System.out.println("/t文件名/t/t大小/t/t类型/t/t最后修改时间");
for (int i = 0; i < fff.length; i++) {
File file = new File(filePath+"/"+fff[i]);
if(file.exists())
System.out.println(fff[i]+"/t/t"+file.length()+"/t/t" +
(file.isDirectory()?"目录":"文件")+"/t/t"+new Date(file.lastModified()).toLocaleString());
}
}
}
http://wenwen.soso.com/z/q138723542.htm