我的JAVA工具之目錄結構輸出
1、代碼:package test;
import java.io.File;
public class DMain {
static int level = 0;
/** 文件目錄迭代輸出 */
static void pathPrint1(String root) {
File path = new File(root);
if (path.isDirectory()) {
System.out.println(getMultiStr(" ", level) + (path.isDirectory() ? "<dir>" : "") + path.getName());
level++;
File[] files = path.listFiles();
for (File f : files) {
if (f.isDirectory()) {
pathPrint1(f.getAbsolutePath());
} else {
System.out.println(getMultiStr(" ", level) + f.getName());
}
}
level--;
}
}
static String getMultiStr(String str, int num) {
String s = "";
for (int i = 0; i < num; i++) {
s += str;
}
return s;
}
/** 以樹形結構輸出目錄 */
static void printTree(String root, String init) {
File path = new File(root);
if (path.isDirectory()) {
File[] files = path.listFiles();
for (int i = 0, length = files.length; i < length; i++) {
File f = files[i];
System.out.println(init + "|" + getMultiStr("-", 4) + f.getName());
if (f.isDirectory()) {
printTree(f.getAbsolutePath(), init + (i == length - 1 ? " " : "|") + getMultiStr(" ", 4));
}
}
}
}
public static void main(String[] args) {
String s = "D:\\My Documents\\discuz!\\Discuz_7[1].0.0_SC_GBK\\upload\\forumdata";
pathPrint1(s);
System.out.println("------------------------");
System.out.println("ROOT");
printTree(s,"");
}
}
import java.io.File;
public class DMain {
static int level = 0;
/** 文件目錄迭代輸出 */
static void pathPrint1(String root) {
File path = new File(root);
if (path.isDirectory()) {
System.out.println(getMultiStr(" ", level) + (path.isDirectory() ? "<dir>" : "") + path.getName());
level++;
File[] files = path.listFiles();
for (File f : files) {
if (f.isDirectory()) {
pathPrint1(f.getAbsolutePath());
} else {
System.out.println(getMultiStr(" ", level) + f.getName());
}
}
level--;
}
}
static String getMultiStr(String str, int num) {
String s = "";
for (int i = 0; i < num; i++) {
s += str;
}
return s;
}
/** 以樹形結構輸出目錄 */
static void printTree(String root, String init) {
File path = new File(root);
if (path.isDirectory()) {
File[] files = path.listFiles();
for (int i = 0, length = files.length; i < length; i++) {
File f = files[i];
System.out.println(init + "|" + getMultiStr("-", 4) + f.getName());
if (f.isDirectory()) {
printTree(f.getAbsolutePath(), init + (i == length - 1 ? " " : "|") + getMultiStr(" ", 4));
}
}
}
}
public static void main(String[] args) {
String s = "D:\\My Documents\\discuz!\\Discuz_7[1].0.0_SC_GBK\\upload\\forumdata";
pathPrint1(s);
System.out.println("------------------------");
System.out.println("ROOT");
printTree(s,"");
}
}
2、得到的輸出:





















