A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 水蛭31 中级黑马   /  2015-7-10 22:27  /  527 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

递归: 函数自身调用自身
  1. class FileDemo
  2. {
  3.         public static void main(String[] args)  throws IOException
  4.         {
  5.                  //consMethod();
  6.                  //method1();
  7.                 //method2();
  8.                 //listRootsDemo();
  9.                 //listDemo();
  10.                 //fileFilter();
  11.                 //listFileDemo();
  12.                 /*
  13.                 File dirRoot=new File("C:\\");
  14.                 listAllFile(dirRoot);
  15.                 */
  16.                 //toBin(6);
  17.                 sop(getSum(10));
  18.         }
  19.         //创建File对象
  20.         public static void consMethod(){
  21.                 //将a.txt封装成File对象,可以将已有的和未出现的文件或文件夹封装成对象,
  22.                 File f1=new File("E:\\abc\\a.txt");//最常见的

  23.                 File f2=new File("E:\\abc","a.txt");
  24.                 //File f2=new File("E:\\abc",str);//想操作的目录不变, 但是想操作目录下的文件是可以的,
  25.                
  26.                 File d=new File("E:\\abc");
  27.                 File f3=new File(d,"a.txt");

  28.                 File f4=new File("E:"+File.separator+"abc"+File.separator+"a.txt");
  29.                 sop("f1="+f1);
  30.                 sop("f2="+f2);
  31.                 sop("f3="+f3);
  32.                 sop("f4="+f4);
  33.         }
  34.         public static void listAllFile(File dir){
  35.                
  36.                 File[] files=dir.listFiles();
  37.                 for(int i=0;i<files.length;i++){
  38.                         if(files[i].isDirectory())
  39.                                 listAllFile(files[i]);//递归
  40.                         else
  41.                                 sop(files[i]);
  42.                 }
  43.         }
  44.        
  45.         public static void toBin(int num){
  46.                 while(num>0){
  47.                         toBin(num/2);
  48.                         sop(num%2);
  49.                        
  50.                 }
  51.         }
  52.         public static int getSum(int num){
  53.                 if(num==1)
  54.                         return 1;
  55.                 return num+getSum(num-1);
  56.         }
  57.         public static void sop(Object obj){
  58.                 System.out.println(obj);
  59.         }
  60. }
复制代码
如图:



2 个回复

倒序浏览
这个玩意,我这几天就在搞,今天已经搞定了多线程扫描文件。就是有个问题很棘手,android有个文件夹叫做/proc
你试试用你的代码来递归这个目录,绝对让你崩溃。你的代码绝对崩溃。
回复 使用道具 举报
那你有没有发现是哪里的问题?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马