1. 程式人生 > >Java--FilenameFilter檔案過濾器

Java--FilenameFilter檔案過濾器

Java中有一個FilenameFilter的介面,能夠過濾得到指定型別的檔案或者目錄,其中必須重寫accept(File file,String path)方法。

本次以.txt檔案格式為例,過濾指定檔案目錄下的.txt檔案。

例項程式碼如下:

package file;

import java.io.File;

import java.io.FilenameFilter;

/
 * FilenameFilter檔案過濾器
 */
public class FileTest {

	public static void main(String[] args) {
		//建立指定目錄的檔案物件
		File file = new File("D:\\程式設計程式碼");   //指定操作路徑

		String[] files = file.list(new MyFilenameFilter());
		
		for(String str : files){
			System.out.println(str);   //列印所有.txt檔名稱
		}
		
		System.out.println("--------------------\n");
		
		File[] files2 = file.listFiles(new MyFilenameFilter());
		for(File tem : files2){
			System.out.println(tem);  //列印所有.txt檔案路徑
		}	
	}
}

class MyFilenameFilter implements FilenameFilter{

	@Override
	public boolean accept(File dir, String name) {
		// 判斷是否是以指定格式結尾的
		if(name.endsWith(".txt")){
			return true;
			
		}
		return false;
	}
}

程式執行結果:
1.txt
2.txt
English.txt
FileIoHomework01.txt
王尼瑪.txt
--------------------

D:\程式設計程式碼\1.txt
D:\程式設計程式碼\2.txt
D:\程式設計程式碼\English.txt
D:\程式設計程式碼\FileIoHomework01.txt
D:\程式設計程式碼\王尼瑪.txt