码迷,mamicode.com
首页 > 其他好文 > 详细

关于目录遍历功能的实现

时间:2015-03-11 23:09:25      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:

今天回顾Java的IO流的知识,看到遍历目录的知识点,有点犯难!不过幸好最后还是让我敲出来了!

调用类:

 1 public class DirectoryTraversal {
 2     public static void main(String[] args) {
 3         System.out.println("展示指定目录下的所有子目录");
 4         File file = new File("D:\\imooc");
 5         FileUtil.listDirectory(file);
 6         System.err.println("遍历结束");
 7         // 文件进行listFiles(),操作,结果为空!下面的语句出现空指针异常
 8         // File file1=new File("D:\\imooc\\test.txt");
 9         // System.out.println(file1);
10         // File[] files1=file1.listFiles();
11         // for(File ff:files1){
12         // System.out.println(ff);
13         // }
14     }
15 }

工具类:

import java.io.File;

//File的工具类,用于遍历数组
public class FileUtil {
    public static void listDirectory(File f){    
        File[] files=f.listFiles();
        if(files!=null && files.length>0){
            for(File file:files){
                System.out.println(file);
//                listDirectory(file);
            }
        }
    }
}

遍历功能主要涉及到了递归这个知识点!没有详细了解,只知道是程序调用自身

5的阶乘的实现:

 1 //递归案例
 2 public class Recursive {
 3     public static int sum = 1;
 4 
 5     public static void main(String[] args) {
 6         System.out.println(f(5));
 7     }
 8 
 9     /**
10      * 计算5阶乘(result=5*4*3*2*1)
11      * 
14      */
15     public static int f(int n) {
16         if (n == 1) {
17             return 1;
18         } else {
19             return f(n - 1) * n;
20         }
21     }
22 }

参考:递归原理解析,要注意的是这边文章中的5的阶乘的实现有问题,阶乘方法中的else语句应该写成:

 return f(n - 1) * n;

 

关于目录遍历功能的实现

标签:

原文地址:http://www.cnblogs.com/TTDJAVA/p/4331185.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!