FilenameFilter 和 FileFilter接口学习

用例子来说明

 

package com.hb.util;

import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;


public class Test {
	
	public static File file;
	
	@org.junit.Before
	public void prepare(){
		String url = "E:/abc";
		file = new File(url);
		File[] files = file.listFiles();
		for(int i = 0; i < files.length; i++){
			File tempFile = files[i];
			System.out.println(tempFile.getName() + " is Dir : " + tempFile.isDirectory());
		}
	}

	@org.junit.Test
	public void fileNameFilterTest(){
		File[] files = file.listFiles(new FilenameFilter() {
			
			/**
			 * file - 被找到的文件所在的目录。
			 * name - 文件的名称。 
			 */
			@Override
			public boolean accept(File file, String name) {
				if("firest_name".equals(name)){
System.out.println(file.getName() + " : " + name);
					return true;
				}
				return false;
			}
		});
		
		for(int i = 0; i < files.length; i++){
			File tempFile = files[i];
			System.out.println("------fileNameFilterTest------");
			System.out.println(tempFile.getName() + " is Dir : " + tempFile.isDirectory());
		}
		
	}
	
	@org.junit.Test
	public void fileFilterTest(){
		
		File[] files = file.listFiles(new FileFilter() {
			
			/**
			 *file 要测试的抽象路径名
			 */
			@Override
			public boolean accept(File file) {
				if("firest_name".equals(file.getName())){
					return true;
				}
				return false;
			}
		});
		
		for(int i = 0; i < files.length; i++){
			File tempFile = files[i];
			System.out.println("------fileFilterTest------");
			System.out.println(tempFile.getName() + " is Dir : " + tempFile.isDirectory());
		}
		
	}
	
}

 

说明

E:/abc目录下面的文件

firest_name is Dir : true
明证法师-----心   经-----讲解    4 is Dir : true
明证法师----心   经---讲解    3 is Dir : true
明证法师----心  经---讲解   5 is Dir : true
明证法师----讲解---心   经   1 is Dir : true

 

使用fileNameFilterTest()的测试结果

firest_name is Dir : true
明证法师-----心   经-----讲解    4 is Dir : true
明证法师----心   经---讲解    3 is Dir : true
明证法师----心  经---讲解   5 is Dir : true
明证法师----讲解---心   经   1 is Dir : true
abc : firest_name
------fileNameFilterTest------
firest_name is Dir : true

 

使用fileFilterTest()测试的结果

firest_name is Dir : true
明证法师-----心   经-----讲解    4 is Dir : true
明证法师----心   经---讲解    3 is Dir : true
明证法师----心  经---讲解   5 is Dir : true
明证法师----讲解---心   经   1 is Dir : true
------fileFilterTest------
firest_name is Dir : true

 

 

 

 

你可能感兴趣的:(FilenameFilter)