java的IO——读取指定路径下所有文件及文件夹

public static List<String > traverseFolder1(String path) {
    
    
    List<String> fileList=new ArrayList<String>();
    int fileNum = 0, folderNum = 0;
    File file = new File(path);
    if (file.exists()) {
    
    
        LinkedList<File> list = new LinkedList<File>();
        File[] files = file.listFiles();
        for (File file2 : files) {
    
    
            if (file2.isDirectory()) {
    
    
                list.add(file2);
                folderNum++;
            } else {
    
    
                fileList.add(file2.getAbsolutePath());
                fileNum++;
            }
        }
        File temp_file;
        while (!list.isEmpty()) {
    
    
            temp_file = list.removeFirst();
            files = temp_file.listFiles();
            for (File file2 : files) {
    
    
                if (file2.isDirectory()) {
    
    
                    list.add(file2);
                    folderNum++;
                } else {
    
    
                    fileList.add(file2.getAbsolutePath());
                    fileNum++;
                }
            }
        }
    } else {
    
    
        System.out.println("文件不存在!");
    }
    System.out.println("文件夹共有:" + folderNum + ",文件共有:" + fileNum);
    return fileList;
}

猜你喜欢

转载自blog.csdn.net/hengyunbin/article/details/103800908