Java遍历文件夹下所有子文件和文件

需求说明:
将服务器的某个文件夹下的照片移动到指定文件夹中.照片被包含在多个文件里面,需要一层一层遍历,
但文件夹的层数并非都一样.并且最后一层有个excel表,将里面的某个字段作为新的文件夹名.

解决办法:
由于层数并非都一样,所有采用递归的方式进行一个遍历,这样能保证遍历到最后一层.

public void readAllDic(String filePath) throws Exception {  
    File f = null;  
    f = new File(filePath);
    File[] files = f.listFiles(); // 得到f文件夹下面的所有文件。  
    List<File> list = new ArrayList<File>();  
    for (File file : files) {  
	//System.out.println(file.getAbsolutePath());     
	//System.out.println(file.isDirectory());
	if(file.getCanonicalFile().isDirectory()) {  
            //如何当前路径是文件夹,则循环读取这个文件夹下的所有文件  
             readAllDic(file.getAbsolutePath());  
        } else {
        //输出非文件夹的绝对路径
	    System.out.println(file.getAbsolutePath());  
            list.add(file);  
        }  
    }  	    
    for (File file : list) {
    	String filePathNameString =  file.getAbsoluteFile().toString();
    	String suffix = filePathNameString.substring(filePathNameString.lastIndexOf(".") + 1);
		if (suffix.equals("xls")) {
			getAllByExcel(file.getAbsolutePath(),request);
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值