91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

面試題求解:用java列舉某個文件夾下所有的文件或者目錄編程題

發布時間:2020-07-20 16:38:06 來源:網絡 閱讀:255 作者:sxt程序猿 欄目:編程語言

有人問及一個用java列舉某個文件夾下所有的文件或者目錄編程題。結果他不加思索的寫了十幾行代碼,就搞定了,結果面試官說等通知,直到最后都沒通知他,我猜想出題人的最終想法是看如何封裝代碼,如何靈活使用豐富的API。

于是我試著寫一個可選擇結果,希望對各位有用:

import java.io.File;
import java.io.FileFilter;

/**

  • 如何列出某個目錄下的所有文件/目錄
  • @author leizhimin 2010-3-22 20:58:37
    */
    public class FileTest {
    public static final byte TYPE_ALL = 0; //所有的文件和文件夾
    public static final byte TYPE_FILE = 1; //文件
    public static final byte TYPE_DIR = 2; //文件夾

    public static void main(String args[]) { 
            File[] flist = listFile("C:\\", FileTest.TYPE_FILE); 
            for (File file : flist) { 
                    System.out.println(file.getPath()); 
            } 
    } 
    
    /** 
     * 列舉文件或者目錄 
     * 
     * @param path 操作目錄 
     * @param type 列舉的類型 
     * @return 所列舉的文件或文件夾列表 
     */ 
    public static File[] listFile(String path, byte type) { 
            File[] result = null; 
            File f = new File(path); 
            switch (type) { 
                    case TYPE_ALL: 
                            result = f.listFiles(); 
                            break; 
                    case TYPE_FILE: 
                            result = f.listFiles(new MyFileFilter(true)); 
                            break; 
                    case TYPE_DIR: 
                            result = f.listFiles(new MyFileFilter(false)); 
                            break; 
                    default: 
                            result = f.listFiles(); 
            } 
            return result; 
    } 

    }

/**

  • 文件過濾器
    */
    class MyFileFilter implements FileFilter {
    //過濾所要保留的類型是否是文件
    private boolean isFile = true;

    MyFileFilter(boolean isFile) { 
            this.isFile = isFile; 
    } 
    
    public boolean accept(File pathname) { 
            if (isFile) { 
                    if (pathname.isFile()) return true; 
                    return false; 
            } else { 
                    if (pathname.isDirectory()) return true; 
                    return false; 
            } 
    } 

    }

輸出結果:

C:\bootfont.bin
C:\ntldr
C:\NTDETECT.COM
C:\CONFIG.SYS
C:\AUTOEXEC.BAT
C:\IO.SYS
C:\MSDOS.SYS
C:\GHLDR
C:\boot.ini
C:\錦衣衛TC國語中字修正聲音甄子丹趙薇2010最新動作大片.rmvb
C:\The.Hurt.Locker.2008.拆彈部隊.雙語字幕.HR-HDTV.AC3.1024x544.x264-人人影視.mkv
C:\Linux程序設計(第三版)_3of2.rar
C:\Linux程序設計(第三版)_3of1.rar
C:\Linux程序設計(第三版)_3of3.rar
C:\Linux程序設計(第三版)_目錄.rar
C:\4.txt

Process finished with exit code 0

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泸溪县| 沈阳市| 纳雍县| 福安市| 隆昌县| 神木县| 富平县| 汝阳县| 双鸭山市| 锦州市| 横山县| 厦门市| 怀安县| 吉隆县| 勃利县| 遂溪县| 皮山县| 海盐县| 思南县| 甘南县| 双桥区| 英超| 常州市| 宁德市| 漳州市| 昂仁县| 渝北区| 浦北县| 禹城市| 新乡市| 莱阳市| 山东省| 政和县| 乌兰浩特市| 营口市| 临西县| 中西区| 怀化市| 密云县| 罗平县| 响水县|