用Java写一个递归遍历目录下面的所有文件。

首先,拿到这个题目,我要找java怎样实现文件的读取。

File file = new File(fileName);
我们知道java通过以上代码获取文件目录
File[] files = file.listFiles();
上面代码获取目录下所有子文件和文件夹。

以下是java.io.File.isFile()方法的声明:

public boolean isFile()

参数

  • NA

返回值

当且仅当表示此抽象路径名的文件是一个文件该方法返回true,否则该方法返回false。

通过isFile()函数可以判断是否为文件。

通过isDirectory()函数可以判断是否为目录。
知道了这些就好办了。

import java.io.File;

public class Counter2 {

	public static void main(String[] args) {
		//取得目标目录
		File file = new File("D:");
		//获取目录下子文件及子文件夹
		File[] files = file.listFiles();
		readfile(files);
		
	}
	
	public static void readfile(File[] files) {
		if (files == null) {// 如果目录为空,直接退出  
            return;  
        } 
		for(File f:files) {
			//如果是文件,直接输出名字
			if(f.isFile()) {
				System.out.println(f.getName());
			}
			//如果是文件夹,递归调用
			else if(f.isDirectory()) {
				readfile(f.listFiles());
			}
		}
	}
}





相关内容推荐