------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
1、首先对指定的目录进行递归,将所有文件找出来
2、将其中的java文件获取绝对路径
3、找到一个java文件计数器就+1
import java.io.*;
class GetJava
{
public static void main(String[] args)
{
//列出所有的根目录,会把DVD驱动器也列出来,但是驱动器的盘符访问不了
//所以不能用这个进行循环查找
File[] files = File.listRoots();
for (File f:files)
{
sop(f);
}
File f = new File("e:\\");//把E盘封装成File对象
sop("count:"+getJava(f));
//由于电脑上面存在DVD驱动器,所以下面这个方法会报指针异常
//for (int x=0; x<files.length; x++)
//{
//getJava(files[x]);
//}
}
static int count = 0;//定义一个计数器
public static int getJava(File dir)//获取指定目录的.java文件
{
File[] files = dir.listFiles();
for (int x=0; x<files.length; x++)
{
//判断文件是不是隐藏文件并判断文件是不是文件夹,是的话就递归调用
if (!files[x].isHidden() && files[x].isDirectory())
{
getJava(files[x]);
}
//文件不是文件夹的话就找出.java的文件,找到一个计数器+1
else if (files[x].getName().endsWith(".java"))
{
++count;
sop(files[x]);
}
}
return count;
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}