java 递归遍历文件夹

 

废话不多说,直接上代码:

import java.io.File; 
 
/*
 * 递归算法遍历文件夹,打印出所有exe文件的文件名
 */ 
public class TraverseFolder { 
     
    //递归方法-》foldername:要遍历的文件(夹)名(完整路径)  
    public void traverseFolder(String foldername){ 
         
        File file = new File(foldername); 
         
        //判断是否为文件  
        if(file.isFile()){
            if(file.getName().lastIndexOf(".exe")!=-1){
                System.out.println(file.getName()); 
            }else{
             System.out.println("不存在exe文件"); 
            }
            return; 
        }
        //若是文件夹,则执行以下操作  
         
        //将文件夹下所有文件转换成一个File数组  
        File[] filearray = file.listFiles(); 
         
        //遍历数组,若是文件夹则递归,是文件则判断是否为exe文件  
        for(File currfile:filearray){ 
            if(currfile.isDirectory()){
                this.traverseFolder(currfile.getAbsolutePath()); 
            }else{ 
                if(currfile.getName().lastIndexOf(".exe")!=-1){ 
                    System.out.print(currfile.getName() + "——>"); 
                    System.out.println(currfile.getAbsolutePath()); 
                } 
                 
            } 
        } 
         
    } 
 
     
    public static void main(String[] args) { 
        //测试  
        TraverseFolder test = new TraverseFolder(); 
        test.traverseFolder("D:\\"); 
//        test.traverseFolder("D:\\Cognos资料\\学习视频\\"); 
    } 
 

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页