Java实现文件名过滤

/*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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值