Tìm các file trong Java với phần mở rộng nhất định

Trong bài viết này chúng ta sẽ tìm hiểu cách Tìm các file trong Java với phần mở rộng nhất định.Tôi sẽ lấy một ví dụ về FilenameFilter để lọc các file có đuôi .txt. Nó sẽ chỉ hiển thị các file có phần mở rộng ” .txt ” trong thư mục “E:\\project\\huongdanjava\\javaio\\find“.

Cách xử lý để tìm các file có trung thư mục (folder)

Tạo file như sau:

package com.itphutran.file;

import java.io.*;

public class FindCertainExtension {

	private static final String FILE_DIR = "E:\\project\\huongdanjava\\javaio\\find";
	private static final String FILE_TEXT_EXT = ".txt";

	public static void main(String args[]) {
		new FindCertainExtension().listFile(FILE_DIR, FILE_TEXT_EXT);
	}

	public void listFile(String folder, String ext) {

		GenericExtFilter filter = new GenericExtFilter(ext);

		File dir = new File(folder);

		if(dir.isDirectory()==false){
			System.out.println("Directory does not exists : " + FILE_DIR);
			return;
		}

		// list out all the file name and filter by the extension
		String[] list = dir.list(filter);

		if (list.length == 0) {
			System.out.println("no files end with : " + ext);
			return;
		}

		for (String file : list) {
			String temp = new StringBuffer(FILE_DIR).append(File.separator)
					.append(file).toString();
			System.out.println("file : " + temp);
		}
	}

	// inner class, generic extension filter
	public class GenericExtFilter implements FilenameFilter {

		private String ext;

		public GenericExtFilter(String ext) {
			this.ext = ext;
		}

		public boolean accept(File dir, String name) {
			return (name.endsWith(ext));
		}
	}
}

Kết quả:

file : E:\project\huongdanjava\javaio\find\filename.txt
file : E:\project\huongdanjava\javaio\find\newFile.txt
file : E:\project\huongdanjava\javaio\find\newFile2.txt
file : E:\project\huongdanjava\javaio\find\newFile3.txt
file : E:\project\huongdanjava\javaio\find\newFile4.txt
file : E:\project\huongdanjava\javaio\find\newFileWrite.txt
file : E:\project\huongdanjava\javaio\find\testFile.txt
file : E:\project\huongdanjava\javaio\find\writeFile.txt

 

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
x