Java编程文件遍历之指定遍历的层数详细代码

时间:2022-11-02 07:34:20

遍历就是把每个元素都访问一次.比如一个二叉树,遍历二叉树意思就是把二叉树中的每个元素都访问一次

本例演示了“文件遍历时,指定遍历的层数”的实现方式。

1.例子代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package com.myjava.test;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class JavaTest {
    /**
* @param args
*/
    public static void main(String[] args) {
        JavaTest jt = new JavaTest();
        String path = "E:\\filetest";
        File file = new File(path);
        try {
            jt.getFile(file, 0);
        }
        catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    int mDirLevel = 2;
    //层数
    private void getFile(File file, int dirLevel) throws Exception {
        if (mDirLevel != -1 && dirLevel > mDirLevel) {
            dirLevel = 0;
            return;
        }
        if (file == null) {
            return;
        }
        if (file.exists()) {
            if (file.isFile()) {
                //do what?
                System.out.println("file:" + file.getAbsolutePath());
            } else {
                // 获得当前文件夹下的所有子文件和子文件夹
                File files[] = file.listFiles();
                // 循环处理每个对象
                if (files == null) {
                    return;
                }
                for (int i = 0; i < files.length; i++) {
                    // 递归调用,处理每个文件对象
                    getFile(files[i], dirLevel +1);
                }
            }
        }
    }
}

2. 测试结果:

file:E:\filetest\f.txt
file:E:\filetest\f1\新建文本文档 - 副本.txt
file:E:\filetest\f1\新建文本文档.txt
file:E:\filetest\f1 - 副本\新建文本文档.txt

总结

以上就是本文关于Java编程文件遍历之指定遍历的层数详细代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

原文链接:http://blog.csdn.net/liranke/article/details/38684735