关于递归

  1. private   static  String findFile(String filePath, String fileName)
  2.             throws IOException {
  3.         // TODO Auto-generated method stub
  4.         File file = new File(filePath);
  5.         if (!file.isDirectory()) {
  6.             // print(file);
  7.         } else if (file.isDirectory()) {
  8.             // print("文件夹");
  9.             String[] filelist = file.list();
  10.             String name;
  11.             for (int i = 0; i < filelist.length; i++) {
  12.                 file = new File(filePath + "/" + filelist[i]);
  13.                 if (!file.isDirectory()) {
  14.                     // print(file);
  15.                     name = file.getName();
  16.                     if (fileName.equals(name)) {
  17.                        //这里的result一定不要在方法里面定义,不然得不数据。                          
  18.                         result = readFileByLine(file.getAbsolutePath());
  19.                         break;
  20.                     }

  21.                     // print(file.getAbsolutePath());
  22.                 } else if (file.isDirectory()) {// 进行递归
  23.                     findFile(filePath + "/" + filelist[i], fileName);
  24.                 }
  25.             }
  26.         }
  27.         print("* "+result);
  28.         return result;
  29.     }

尽量用全局变量保存递归中运算得到的结果!全局变量使用完后要进行清空处理,避免下次使用时,在未得到正确的数据的情况下误用上次得到的数据!!

你可能感兴趣的:(关于递归)