指定一个目录,统计该目录中有多少个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源文件。要求用递归实现的主要内容,如果未能解决你的问题,请参考以下文章