黑马程序员技术交流社区
标题:
列出文件夹所有文件
[打印本页]
作者:
城市儒侠
时间:
2013-12-18 19:21
标题:
列出文件夹所有文件
本帖最后由 城市儒侠 于 2013-12-18 23:04 编辑
import java.io.*;
public class ListFile {
public static void main(String[] args) {
File f = new File("D:\\java.bi");
listChilds(f);
}
public static void listChilds(File f) {
String preStr = "";
System.out.println(preStr + f.getName());
if(!f.isDirectory()) return;
File[] childs = f.listFiles();
for(int i=0; i<childs.length; i++) {
listChilds(childs[i]);
}
}
}
复制代码
这个函数是列出了文件夹的所有文件,可是显示很难看。
请问如何能做成那种层级的格式?有层次效果的那种。
比如子文件可以在前面空几个空格。
作者:
冬天的热带鱼
时间:
2013-12-18 20:41
定义一个获得文件目录等级的方法
public static String getLevel(int level)
{
StringBuilder sb = new StringBuilder();
sb.append("|--");
for(int x=0; x<level; x++)
{
sb.insert(0," ");
}
return sb.toString();
}
获取的文件和文件的等级(int型)传给一个打印方法
public static void showDir(File dir,int level)
{
System.out.println(getLevel(level)+dir.getName());
level++;
File[] files = dir.listFiles();
for(int x=0; x<files.length; x++)
{
if(files[x].isDirectory())
showDir(files[x],level);
else
System.out.println(getLevel(level)+files[x]);
}
}
作者:
taoge
时间:
2013-12-18 21:12
import java.io.*;
public class ListFile {
public static void main(String[] args) {
File f = new File("D:\\java.bi");
listChilds(f);
}
public static void listChilds(File f) {
String preStr = "";
for (int i = 0; i < level; i++) //只需在这里加一个循环就行了,想显示空格把"--"换成空格
//就行了,不过换成一个空格看不到什么效果,至少四五
//个才行
{
preStr += "--";
}
System.out.println(preStr + f.getName());
if(!f.isDirectory()) return;
File[] childs = f.listFiles();
for(int i=0; i<childs.length; i++) {
listChilds(childs[i]);
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2