用java 编写一个程序,在命令行中以树状结构展现特定的文件夹及其子文件(夹)!

用java 编写一个程序,在命令行中以树状结构展现特定的文件夹及其子文件(夹)!,第1张

当然在理论上是可以实现的,可以将所有的子文件都以树形结构出来,但是文件很多的时候就会非常纠结

我理解中的树形结构大概是这样(不知道这样的图形是不是你想要的)

a

|

------------------

| | |

b cd

以下是代码,找了系统盘下子文件较少的文件夹 C:/Windows/AppPatch,当然也可以换成你自己的路径来测试

import java.io.File

public class FileTree {

/**

* @param args

*/

public static void main(String[] args) {

try{

File file = new File("C:\\Windows\\AppPatch")

if(file.isDirectory()){

String[] fileList = file.list()

String fileName = file.getName()

int allLength = 0

for(int i=0i<fileList.lengthi++){

allLength += (fileList[i]+" ").length()

}

for(int i=0i<allLength/2i++){

System.out.print("纯激 ")

}

System.out.println(fileName)

for(int i=0i<allLength/2i++){

System.out.print(" ")

}

for(int i=0i<fileName.length()/2i++){

System.out.print(" ")

}

System.out.println("|")

for(int i=0i<allLengthi++){

System.out.print("-")

}

System.out.println("")

for(int i=0i<fileList.lengthi++){

int tmpLength = fileList[i].length()

int subLength = tmpLength/2

int lastLength = tmpLength - subLength - 1

for(int j=0j<subLengthj++){

System.out.print(" "做裤敬)

}

System.out.print("|")

for(int j=0j<lastLengthj++){

System.out.print("纯慎 ")

}

System.out.print(" ")

}

System.out.println("")

for(int i=0i<fileList.lengthi++){

System.out.print(fileList[i]+" ")

}

}

else{

System.out.println("对不起,你提供的路径不是文件夹")

}

}

catch (Exception e) {

e.printStackTrace()

}

}

}

这时可以发现输出每一个子文件/子文件夹的名字已经比较长,要是再想输出这些子文件夹里面的文件,那幅图个人觉得相当纠结,也许是我水平没够吧或是我理解错了你说的树形结构

希望以上代码对你有帮助

可以仿照TreeView的类型,TreeView的Nodes属性是TreeNodeCollection类,

public class TreeNodeCollection : IList, ICollection, IEnumerable,

所以你雹吵仿照这种结雀散构建立你源岁侍自己的类,同样实现这三种接口就行了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12215639.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存