Blueimp 論壇首頁
  首頁  | 討論區  | 最新話題  | 搜尋  | XML  |  登入

此話題中所有文章數: 1 [ 話題狀態: 一般 ]
上一話題 此文章已經觀看 24 次 而且有 0 篇回應 下一話題
會員大頭照
男寶寶 Moonnight 《護衛隊長》
文章: 716
v3.8.8

運用 java.io.FilenameFilter 過濾檔案

/*
* Created on Jul 14, 2005
*/

package test.fin.io;

import java.io.*;
/**
* 列出目錄下的所有檔案名稱。

* 附加功能:只過濾出副檔名為 .jsp 的檔案。 (運用java.io.FilenameFilter)
*
* @author y_syhung
* @see java.io.FilenameFilter
*/
public class TestFileFilter {



/**
* 測試檔案過濾器。
*
* @author y_syhung
*/
public class TestFilenameFilter
implements FilenameFilter {

/**
* 預設不過濾副檔名
*/
private String fileExtName = "";

/**
* 建構子。

* @param fileExtName1 String 副檔名
*/
public TestFilenameFilter(String fileExtName1) {
this.setFileExtName(fileExtName1.toUpperCase());
}

/**
* 設定副檔名。

* @param fileExtName1 String 若為 null ,將不設定限制。
*/
public void setFileExtName(String fileExtName1) {
if (fileExtName1 != null) {
this.fileExtName = fileExtName1;
} else {
this.fileExtName = "";
}
}

/**
* 判斷是否過濾。

* @param dir File
* @param filename String
* @return boolean
*/
public boolean accept(File dir, String filename) {
filename = filename.toUpperCase();
if (this.fileExtName.length() == 0 || filename.endsWith(this.fileExtName)) {
return true;
}
return false;
}
}

/**
* 找出篩選後的檔案名稱。
* @param path String
* @param fileExtName String 要被過濾的副檔名
* @return String[] 篩選後的檔案名稱
*/
public String[] list(String path, String fileExtName) {
File files = new File(path);
TestFilenameFilter filter = new TestFilenameFilter(fileExtName);
if (files.isDirectory()) {
return files.list(filter);
}
return null;
}

public static void main(String[] args) {
TestFileFilter test = new TestFileFilter();
String[] list = test.list("c:\\", ".bat");
if (list != null) {
for (int i = 0; i < list.length; i++) {
System.out.println(list);
}
} else {
System.out.println("no file!");
}

}
}

----------------------------------------
[編輯文章 2 次, 最後修改: Moonnight 於 2005/9/7 上午 10:41:56]

[2005/7/14 下午 03:55:01]   [返迴此篇文章頂端 ]  回到頂端