如何Java遍歷文件夾內的文件

遍歷指定路徑下的文件,文件和文件夾須要區分。 html

爲了把文件名和是否爲文件夾記錄下來,實現一個model: java


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封裝了方法供使用: web


/**
     * 
     * @param String
     *            path 查詢文件路徑
     * 
     * @return Map Boolean->true:文件夾;false:非文件夾,String:文件名/文件夾名
     */
    private ListqueryAllFileName(String path) {

        // 保證path是"/"或"\\"結尾
        if ((!path.endsWith(File.pathSeparator)) || (!path.endsWith("\\"))) {
            path = path + File.pathSeparator;
        }
        // 查詢路徑
        File filePath = new File(path);
        // 路徑不存在
        if (!filePath.exists()) {
            return null;
        }
        ListfileModelList = new ArrayList();
        // 路徑不是文件夾
        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;
    }
相關文章
相關標籤/搜索