自己写的代码不完善,,希望大神们能帮忙解决一下问题,执行图为上图,消除d下面的竖线,改为空格y
ps:由于非法字符无法发出来,就用字母代替了package Java_06_Commonclass;import java.io.File;public class Java_0607_TreeClassSS {
private static boolean boss = true;
private static File no = null;

public static void main(String[] args) {
//File f = new File("f:/百度云/尚学堂_马士兵_java基础");
File f = new File("f:/A");
//File f = new File("s:/XMP");
//File f = new File("H:/MyEclipse2014/0-Java-Test");
System.out.println(f.getName());
tree(f, 1, false);
} private static void tree(File f, int level, boolean b) {
File[] childs = f.listFiles();

for (int i = 0; i < childs.length; i++) {
String preStr = "";

if(boss) {
no = childs[childs.length-1];
boss = false;
}

if(childs.length == 1 || i == childs.length-1) {
preStr = "L_";
}else{
preStr = "l--";
}

if(childs[i].getName().equals(no.getName())  ) {
b = true;
}else{
b = false;
}

for (int k = 1; k < level; k++) {
if(b) {
preStr = "  " + preStr;
}else{
preStr = "l " + preStr;
}
}

if (childs[i].isDirectory()) {
System.out.println(preStr + childs[i].getName());
tree(childs[i], level + 1, b);
}else{
System.out.println(preStr + childs[i].getName());
}
}
}
}