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资料\\学习视频\\"); 
    } 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值