指定一个目录,统计该目录中有多少个Java源文件。要求用递归实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指定一个目录,统计该目录中有多少个Java源文件。要求用递归实现相关的知识,希望对你有一定的参考价值。

import java.io.File;
import java.util.regex.Pattern;

public class Tt
private int sumFiles = 0;
private int sumDirs = 0;

public void countFiles(File file)
try
if (file.isDirectory())
sumDirs += 1;
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++)
countFiles(files[i]);

else if (file.getName().matches("^.*\\.java$"))
System.out.println(file.getPath()+"\\"+file.getName()+"\n");
sumFiles += 1;

catch (Exception e)
// TODO: handle exception
e.printStackTrace();




public int getSumFiles()
return sumFiles;


/**
* @param args
*/
public static void main(String[] args)
Tt tt = new Tt();
File file = new File("D:\\android\\workplace");
tt.countFiles(file);

System.out.println(tt.getSumFiles());



参考技术A 定义一个全局变量count为了做统计,然后取出目录下的所有文件进行分析,如果文件不是文件夹的那么判断后缀是不是.java文件,是就count就加一,如果是文件夹的,那么就调用一下这个方法
private void countTotal(File file)

File[] files = file.getAlls();
for(int i = files.length; --i >= 0;)

File f = files[i];
if (f.isExxx())

countTotal(File file)
countinue;

if(f.getName.endWidth(".java"))

count++;


追问

来个具体代码吧,亲~

追答

判断文件File是否是文件还是文件夹用isDirectory()函数

以上是关于指定一个目录,统计该目录中有多少个Java源文件。要求用递归实现的主要内容,如果未能解决你的问题,请参考以下文章

linux怎么用一个命令行统计出给定目录中有多少个子目录

如何获取一个目录下有多少个文件 java

idea统计关键字个数量

linux 如何统计整个目录(包括子目录)所有文档的行数

目录操作习题

linux中的WC命令后面跟啥参数可以查看一个文件夹下有多少个文件啊