<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Cyh的博客

    Email:kissyan4916@163.com
    posts - 26, comments - 19, trackbacks - 0, articles - 220

    列出指定目錄下的文件

    Posted on 2009-05-24 20:32 啥都寫點(diǎn) 閱讀(208) 評(píng)論(0)  編輯  收藏 所屬分類: J2SE
    關(guān)鍵技術(shù):
    • File類的list方法返回該目錄下所有的文件(包括目錄)的文件名,文件名不包含路徑信息。
    • File類的listFiles方法返回該目錄下所有文件(包括目錄)的File對(duì)象。
    • FilenameFilter是文件名過濾器接口類,所有自定義的文件名過濾器必須實(shí)現(xiàn)該接口的accept方法。

    package book.io;
    import java.io.File;
    import java.io.FilenameFilter;

    public class ListFileUtil {
        
        
    /**
         * 這是一個(gè)內(nèi)部類,實(shí)現(xiàn)了FilenameFilter接口,用于過濾文件
         
    */
        
    static class MyFilenameFilter implements FilenameFilter{
            
    //文件名后綴
            private String suffix = "";
            
            
    public MyFilenameFilter(String surfix){
                
    this.suffix = surfix;
            }
            
    public boolean accept(File dir, String name) {
                
    //如果文件名以surfix指定的后綴相同,便返回true,否則返回false
                if (new File(dir, name).isFile()){
                    
    return name.endsWith(suffix);
                }
    else{
                    
    //如果是文件夾,則直接返回true
                    return true;
                }
            }
        }
        
        
    /**
         * 列出目錄下所有文件包括子目錄的文件路徑
         * 
    @param dirName    文件夾的文件路徑
         
    */
        
    public static void listAllFiles(String dirName){
            
            
    //如果dir不以文件分隔符結(jié)尾,自動(dòng)添加文件分隔符。
            if (!dirName.endsWith(File.separator)){
                dirName 
    = dirName + File.separator;
            }
            File dirFile 
    = new File(dirName);
            
    //如果dir對(duì)應(yīng)的文件不存在,或者不是一個(gè)文件夾,則退出
            if (!dirFile.exists() || (!dirFile.isDirectory())){
                System.out.println(
    "List失??!找不到目錄:" + dirName);
                
    return;
            }
            
    //列出源文件夾下所有文件(包括子目錄)
            File[] files = dirFile.listFiles();
            
    for (int i = 0; i < files.length; i++){
                
    if (files[i].isFile()){
                    System.out.println(files[i].getAbsolutePath() 
    + " 是文件!");
                }
    else if (files[i].isDirectory()){
                    System.out.println(files[i].getAbsolutePath() 
    + " 是目錄!");
                    ListFileUtil.listAllFiles(files[i].getAbsolutePath());
                }
            }
        }
        
    /**
         * 列出目錄中通過文件名過濾器過濾后的文件。
         * 
    @param filter    文件名過濾器對(duì)象
         * 
    @param dirName        目錄名
         
    */
        
    public static void listFilesByFilenameFilter(FilenameFilter filter, String dirName){
            
            
    //如果dir不以文件分隔符結(jié)尾,自動(dòng)添加文件分隔符。
            if (!dirName.endsWith(File.separator)){
                dirName 
    = dirName + File.separator;
            }
            File dirFile 
    = new File(dirName);
            
    //如果dir對(duì)應(yīng)的文件不存在,或者不是一個(gè)文件夾,則退出
            if (!dirFile.exists() || (!dirFile.isDirectory())){
                System.out.println(
    "List失??!找不到目錄:" + dirName);
                
    return;
            }
            
    //列出源文件夾下所有文件(包括子目錄)
            File[] files = dirFile.listFiles(filter);
            
    for (int i = 0; i < files.length; i++){
                
    if (files[i].isFile()){
                    System.out.println(files[i].getAbsolutePath() 
    + " 是文件!");
                }
    else if (files[i].isDirectory()){
                    System.out.println(files[i].getAbsolutePath() 
    + " 是目錄!");
                    ListFileUtil.listFilesByFilenameFilter(filter, files[i].getAbsolutePath());
                }
            }
        }

        
    public static void main(String[] args) {
            String dir 
    = "C:/temp";
    //        System.out.println((dir + "目錄下的內(nèi)容: "));
    //        ListFileUtil.listAllFiles(dir);
    //        
    //        System.out.println();
    //        System.out.println("經(jīng)過過濾器過濾后的內(nèi)容:");
    //        //新建一個(gè)文件名過濾器。參數(shù)為".txt"
    //        FilenameFilter myFilenameFilter = new ListFileUtil.MyFilenameFilter(".txt");
    //        ListFileUtil.listFilesByFilenameFilter(myFilenameFilter, dir);
            
            String[] t 
    = new File(dir).list();
            
    for (int i=0; i<t.length; i++){
                System.out.println(t[i]);
            }
        }
    }



                                                                                                           --    學(xué)海無涯
            

    主站蜘蛛池模板: 中文字幕在线观看亚洲| 亚洲中文无码mv| 欧洲乱码伦视频免费| 99亚洲乱人伦aⅴ精品| 亚洲一区二区三区在线观看精品中文 | 两个人看www免费视频| 亚洲精品mv在线观看| 暖暖免费高清日本中文| 你好老叔电影观看免费| 亚洲三级高清免费| 91麻豆国产自产在线观看亚洲| 30岁的女人韩剧免费观看| 99亚洲男女激情在线观看| 亚洲综合婷婷久久| 哒哒哒免费视频观看在线www| 桃子视频在线观看高清免费视频| 亚洲成人激情小说| 国产成人A人亚洲精品无码| 国内外成人免费视频| 两个人看的www高清免费视频| 日韩亚洲不卡在线视频中文字幕在线观看| 亚洲人成人网站在线观看| 国产精品怡红院永久免费| 国产精品高清免费网站| 亚洲va久久久久| 亚洲av伊人久久综合密臀性色| 国产高清免费的视频| 亚洲精品视频在线免费| 中国精品一级毛片免费播放| 亚洲国产精品无码久久九九大片 | 日本免费电影一区| 91青青国产在线观看免费| 香蕉国产在线观看免费| 亚洲人成色在线观看| 亚洲国产人成在线观看69网站| 婷婷亚洲天堂影院| 在线免费视频一区二区| 日本片免费观看一区二区| 免费看一区二区三区四区| 高潮毛片无遮挡高清免费视频| 久久亚洲精品国产精品婷婷|