隨筆-5  評論-22  文章-35  trackbacks-0

          目錄列示器

          本實例演示如何得到一個目錄下的所有文件列表 .

          1.?????? 這里利用了 DirFilter 實現了 FilenameFilter 接口 , 因此必須繼承 accept 的方法 .

          2.?????? 用到了匹配字符序列與正則表達式指定模式的類 Matcher,Pattern 所以要 java.util.regex 引入 .

          實例程序 :

          package javaio;

          import java.io.*;

          import java.util.*;

          import java.util.regex.*;

          ?

          public class DirList {

          ? public static void main(String[] args) {

          ? ??File path = new File("c:/");

          ??? String[] list;

          ??? if(args.length == 0){

          ????? list = path.list();

          ??? }

          ??? else{

          ????? // 這里將輸入的參數作為過濾因子

          ????? list = path.list(new DirFilter(args[0]));

          ??? }

          ??? for(int i = 0; i < list.length; i++){

          ????? System.out.println(list[i]);

          ??? }

          ? }

          }

          ?

          class DirFilter implements FilenameFilter {

          ? private Pattern pattern;

          ? public DirFilter(String regex) {

          ??? pattern = Pattern.compile(regex);

          ? }

          ? public boolean accept(File dir, String name) {

          ??? // 判斷名為 name 的文件是不是符合過濾條件

          ??? return pattern.matcher(new File(name).getName()).matches();/*matches() 嘗試將整個區域 / 與模式匹配。 new File(name).getName() 得到 String 類的 name*/

          ? }

          }

          運行結果 :

          Image00003.jpg

          posted on 2006-08-25 08:11 fish的Blog 閱讀(182) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 大埔区| 连云港市| 荆州市| 广安市| 嘉禾县| 沧州市| 江津市| 乌拉特中旗| 佛山市| 晋州市| 松原市| 永登县| 曲周县| 胶州市| 洞口县| 长寿区| 广东省| 黄平县| 资中县| 合江县| 肥城市| 泰来县| 朝阳区| 且末县| 新津县| 东平县| 景洪市| 寿宁县| 玛沁县| 鹿邑县| 温泉县| 建湖县| 威宁| 惠安县| 丁青县| 农安县| 公安县| 越西县| 镇雄县| 靖远县| 准格尔旗|