java中遍历文件的一个格式问题

来源:互联网 发布:删除 淘宝上传的身份证 编辑:程序博客网 时间:2024/05/08 21:18

遍历文件时遇到的一个格式问题

在遍历某一文件时迭代输出当前目录下的所有文件以及文件夹,在对其格式化输出过程中遇到的一个问题

import java.io.File;public class test {    public static void main(String[] args){        printFile(new File("G:\\桌面备份"),0);    }     static void printFile(File dir,int n) {        if (dir.isDirectory()) {            File[] next = dir.listFiles();            for (int i = 0; i < next.length; i++) {                for (int j = 0; j < n; j++) {                    if(j<n-1)                        System.out.print("   ");                    else                        System.out.print("|--");                }                               System.out.println(next[i].getName());                if (next[i].isDirectory()) {                    printFile(next[i],n++);//                }                           }                   }    }}

此时程序无法对同级目录下的文件按同级输出,问题在于在调用fileprint()函数时将输入参数n++,关键在于保持本级结构中n不变对遍历的下一级中n+1,所以应将该语句更改为:

printFile(next[i],n+1);

这样可以保证本级目录中n不增加,而下一级目录中n+1,可以正确遍历文件以及输出

0 0
原创粉丝点击