遍曆檔案夾內的檔案(我們到底能走多遠系列2)

來源:互聯網
上載者:User
我們到底能走多遠系列(2)

遍曆指定路徑下的檔案,檔案和檔案夾需要區分。

為了把檔案名稱和是否為檔案夾記錄下來,實現一個model

package web.method.file.model;public class FileModel {        // 是否為檔案夾    private boolean isDirectory;        // 檔案名稱    private String fileNmae;    public FileModel(boolean isDirectory, String fileNmae) {        super();        this.isDirectory = isDirectory;        this.fileNmae = fileNmae;    }    public boolean isDirectory() {        return isDirectory;    }    public void setDirectory(boolean isDirectory) {        this.isDirectory = isDirectory;    }    public String getFileNmae() {        return fileNmae;    }    public void setFileNmae(String fileNmae) {        this.fileNmae = fileNmae;    }    }

遍曆個檔案夾java封裝了方法供使用:

/**     *      * @param String     *            path 查詢檔案路徑     *      * @return Map<Boolean, String> Boolean->true:檔案夾;false:非檔案夾,String:檔案名稱/檔案夾名     */    private List<FileModel> queryAllFileName(String path) {        // 保證path是"/"或"\\"結尾        if ((!path.endsWith(File.pathSeparator)) || (!path.endsWith("\\"))) {            path = path + File.pathSeparator;        }        // 查詢路徑        File filePath = new File(path);        // 路徑不存在        if (!filePath.exists()) {            return null;        }        List<FileModel> fileModelList = new ArrayList<FileModel>();        // 路徑不是檔案夾        if (!filePath.isDirectory()) {            FileModel file = new FileModel(false, path);            fileModelList.add(file);            return fileModelList;        }        // 取得路勁下檔案名稱或檔案夾名        String[] fileNames = filePath.list();        for (int i = 0; i < fileNames.length; i++) {            // 判斷是否為檔案夾            if ((new File(path + fileNames[i])).isDirectory()) {                fileModelList.add(new FileModel(true, fileNames[i]));            } else {                fileModelList.add(new FileModel(false, fileNames[i]));            }        }        return fileModelList;    }
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.