黑马程序员技术交流社区

标题: 找出指定文件夹中所有.java文件,列出他们的绝对路径,并... [打印本页]

作者: l598790586    时间: 2015-5-31 22:10
标题: 找出指定文件夹中所有.java文件,列出他们的绝对路径,并...
  1. /*
  2. 1、找出文件夹中所有.java文件,并列出他们的绝对路径,并计算出有多少java文件
  3.        
  4.         1、首先对指定的目录进行递归,将所有文件找出来
  5.         2、将其中的java文件获取绝对路径
  6.         3、找到一个java文件计数器就+1
  7.        

  8. */

  9. import java.io.*;
  10. class  GetJava
  11. {
  12.         public static void main(String[] args)
  13.         {
  14.                 //列出所有的根目录,会把DVD驱动器也列出来,但是驱动器的盘符访问不了
  15.                 //所以不能用这个进行循环查找
  16.                 File[] files = File.listRoots();
  17.                 for (File f:files)
  18.                 {
  19.                         sop(f);
  20.                 }
  21.                 File f = new File("e:\\");//把E盘封装成File对象

  22.                 sop("count:"+getJava(f));

  23.                 //由于电脑上面存在DVD驱动器,所以下面这个方法会报指针异常
  24.                 //for (int x=0; x<files.length; x++)
  25.                 //{
  26.                         //getJava(files[x]);
  27.                 //}
  28.         }

  29.         static int count = 0;//定义一个计数器
  30.         public static int getJava(File dir)//获取指定目录的.java文件
  31.         {
  32.                 File[] files = dir.listFiles();
  33.                 for (int x=0; x<files.length; x++)
  34.                 {
  35.                         if (!files[x].isHidden() && files[x].isDirectory())//判断文件是不是隐藏文件
  36.                                                                                 //判断文件是不是文件夹,是的话就递归调用
  37.                         {
  38.                                 getJava(files[x]);
  39.                         }
  40.                         else if (files[x].getName().endsWith(".java"))//文件不是文件夹的话就找出.java的文件,找到一个计数器+1
  41.                         {
  42.                                 ++count;
  43.                                 sop(files[x]);
  44.                         }
  45.                 }
  46.                 return count;
  47.         }

  48.         public static void sop(Object obj)
  49.         {
  50.                 System.out.println(obj);
  51.         }
  52. }
复制代码



作者: 人在旅途~东营    时间: 2015-5-31 22:48
过来学习了下,这加入计数器的做法确实不错,支持下





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2