java遍历文件夹:java遍历文件展示文本格式的文件树



package io;
import java.io.*;

public DocTree {
File root = null;

public DocTree(File f){
this.root = f;
}

public void showTree(File root, depth){
drawFile(root, depth);
(!root.isFile){
File files = root.listFiles;
(files!=null&&files.length!=1){
for( i=0; i<files.length; i){
showTree(files[i], depth+1);
}
}
}
}
public void drawFile(File f, depth){
for( i=1; i<depth; i){
.out.pr("│ ");
}
.out.pr("├─");
(f.isFile){
.out.pr(f.getName);
}
{
.out.pr("[" + f.getName + "]");
}
.out.prln;
}

public void (String args){
File root = File("d:\\Apache2.2");
DocTree tree = DocTree(root);
.out.prln(tree.toString(" ", ""));
}

public String toString(String leftStr, String append){
StringBuilder b = StringBuilder;
b.append(append + root.getName);
b.append("\n");
(!root.isFile&&root.listFiles.length!=0){
File files = root.listFiles;
DocTree docTrees = DocTree[files.length];
for( i=0; i<docTrees.length; i){
docTrees[i] = DocTree(files[i]);
}
for ( i=0; i<files.length-1; i){
b.append(leftStr + docTrees[i].toString(leftStr+"│", "├"));
}
b.append(leftStr + docTrees[docTrees.length-1].toString(leftStr + " ", "└"));
}
b.toString;
}
}
参考



import java.util.ArrayList;
import java.util.List;

public Folder {

public Folder(String title) {
this.title = title;
}

private String title;

private List<Folder> children = ArrayList<Folder>;

public void addChild(Folder f) {
children.add(f);
}

public List<Folder> getChildren {
children;
}

public void Children(List<Folder> children) {
this.children = children;
}

public String getTitle {
title;
}

public void Title(String title) {
this.title = title;
}

public String toString(String lftStr, String append) {
StringBuilder b = StringBuilder;
b.append(append + title);
b.append("\n");
(children.size > 0) {
for ( i = 0; i < children.size - 1; i) {
b.append(lftStr + children.get(i).toString(lftStr + "│ ", "├-"));
}
b.append(lftStr+ children.get(children.size - 1).toString(lftStr + " ", "└-"));

}
b.toString;

}

public void (String args) {
Folder root = Folder("菜单列表");
Folder f1 = Folder("开始菜单");
root.addChild(f1);
Folder f1_1 = Folder("");
f1.addChild(f1_1);
Folder f1_1_1 = Folder("附件");
f1_1.addChild(f1_1_1);
Folder f1_1_1_1 = Folder("娱乐");
f1_1_1.addChild(f1_1_1_1);
Folder f1_1_1_2 = Folder("娱乐2");
f1_1_1.addChild(f1_1_1_2);
Folder f1_2 = Folder("辅助工具");
f1.addChild(f1_2);
Folder f2 = Folder("My Documents ");
//root.addChild(f2);
Folder f3 = Folder("My Documents2 ");
//root.addChild(f3);

.out.prln(root.toString(" ", "$"));
}
}
Tags:  java遍历 java遍历map java遍历list java遍历文件夹

延伸阅读

最新评论

发表评论