public static void list_allFiles(String path) { File current_dir = new File(path);
File sub_dir[];// 子目录
// 假如传递的是个文件
if (current_dir.isFile()) {
System.out.println(" |_" + current_dir.getName());
}
// 假如传递是个目录
if (current_dir.isDirectory()) {
// 列出当前目录中所有的子目录或文件存到子目录中
sub_dir = current_dir.listFiles();
// 判读每个子目录是否是目录或文件
for (int i = 0; i < sub_dir.length; i++) { if (sub_dir[i].isDirectory()) { System.out.println("+" + sub_dir[i].getName());
list_allFiles(sub_dir[i].getPath());
} else
list_allFiles(sub_dir[i].getPath());
}
}怎样打印树结构。求高手帮忙。
File sub_dir[];// 子目录
// 假如传递的是个文件
if (current_dir.isFile()) {
System.out.println(" |_" + current_dir.getName());
}
// 假如传递是个目录
if (current_dir.isDirectory()) {
// 列出当前目录中所有的子目录或文件存到子目录中
sub_dir = current_dir.listFiles();
// 判读每个子目录是否是目录或文件
for (int i = 0; i < sub_dir.length; i++) { if (sub_dir[i].isDirectory()) { System.out.println("+" + sub_dir[i].getName());
list_allFiles(sub_dir[i].getPath());
} else
list_allFiles(sub_dir[i].getPath());
}
}怎样打印树结构。求高手帮忙。
for(int i = 0;i<deep;i++){
System.out.print("-");
}
System.out.println(file.getName());
if(!file.isDirectory())
return;
File[] children = file.listFiles();
if(children.length == 0)
return;
for(File child:children) {
showFiles(child, deep + 1);
}
}public static void main(String[] args) {
ShowFiles show = new ShowFiles();
File file = new File("F:\\CSDN_datas");
show.showFiles(file, 0);
}
}
判断了为子目录 grade++;
然后打印的时候根据grade 的值 在前面加标识
import java.io.*;
import java.util.*;public class ListFile {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("Input the absolute path of the file:");
String path = sc.nextLine();
File file = new File(path);
System.out.println(file.getName());
new ListFile().dir(file,1);
}
private void dir(File file, int level) { File[] files = file.listFiles();
String preStr = "";
for(int i=0; i<level; i++)
preStr += " ";
for(int i=0; i<files.length; i++) {
System.out.println(preStr+files[i].getName());
if(files[i].isDirectory()) {
dir(files[i],++level);
}
}
}
}
这个是foreach的一个应用,呵呵