Java一个遍历文件路径的测试类

本文参考《Java编程思想 第四版》

1.实现代码

package testpackage;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class DirectoryWalkTest {
	static List<File> listDirectory = new ArrayList<File>();
	static List<File> listFile = new ArrayList<File>();
    public static void walk(File infile){
    	File[] fileArr = infile.listFiles();
    	for(File fs : fileArr){
    		if(fs.isDirectory()){
    			listDirectory.add(fs);
    			//System.out.println(fs.getName()+" is a directory.");  
    			walk(fs);
    		} 
    		else{
    			listFile.add(fs);
    			//System.out.println(fs.getName()+" is a file.");
    			//System.out.println(fs.getName().substring(0,fs.getName().length()-4)+" is a file."); 
    	    }
    	}
    		
    }
     
	public static void main(String[] args) {
		String infile = "C:\\Users\\Administrator\\Desktop\\1"; 
    	File file = new File(infile);
		walk(file);
//		for(File file : listFile) //全局变量不能用到临时变量中
//			System.out.println(fs.getName());
		for(File fs : listFile)
			System.out.println(fs.getName());
		for(File fs : listDirectory)
			System.out.println(fs.getName());
	}

}


2.总结

使用File类的对象的listFiles()方法可以获得并返回对象所指向路径下所有的文件和路径的File对象数组。
我们使用isDirectory()和判断文件对象是否是路径。
如果遇到的是路径,我们使用递归的方式再次获得路径下的文件或者路径。
起始路径下的所有路径对象被保存在静态List对象listDirectory中,文件对象被保存在静态List对象listFile中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值