Tuesday, November 29, 2005

Một custom file filter đơn giản

Do nhu cầu công việc nên tôi nảy sinh ra ý định viết một custom file filter đơn giản. Nhiệm vụ của custom file filter là lọc các file có trong một thư mục theo một pattern lọc do người dùng cung cấp. Pattern này chấp nhận các ký hiệu wildcard (* và ?), giống như khi bạn dùng dir *.txt vậy.

Class CustomFileFilter implement interface FilenameFilter và bổ xung mã cho method accept() để phục vụ mục đích trên.

Ngoài ra, tôi có thêm một helper class để việc match tên file với pattern được dễ dàng.

Sau đây là mã nguồn:

CustomFileFilter.java


FilterHelper.java


Chú ý:
+ Các kí tự /, \, :, ?, *, ", <, >, | là các kí tự không được phép có trong tên file ở Windows.

+ Chương trình mới chỉ được thử nghiệm trên các tên file là các kí tự tiếng Anh trên Windows, chưa được thử nghiệm trên các tên file có các kí tự tiếng Việt, Hàn, ...

Cập nhật mã nguồn 29/11/2005: Trong class FilterHelper, đẩy phần chuyển plain pattern nhận từ ngoài sang regular expression pattern vào method buildRegexPattern.

No comments: