我理解中的树形结构大概是这样(不知道这样的图形是不是你想要的)
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,
所以你雹吵仿照这种结雀散构建立你源岁侍自己的类,同样实现这三种接口就行了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)