黑马程序员技术交流社区
标题:
打印文件目录
[打印本页]
作者:
Alexander
时间:
2014-3-11 23:00
标题:
打印文件目录
我之前在学java的文件操作时,遇到这个问题,怎样打印一个目录下的所有文件的绝对路径(包括文件名),于是便自己写了个打印目录的程序,结果看起来很让人头疼,从上到下全是一堆路径,后来想,光有路径也不行,最好要是能标注哪个文件夹下有哪些文件,类似树状结构的表现最好,不知道哪位能给个比较好的答案,实现两点
1.将E盘下的所有文件(不是目录)打印出来,包括绝对路径和文件名
2.以树状结构显示,能清楚的看出哪些文件在那个文件夹下
文件夹的显示效果如下
E
- 文件
-a.txt
-b.txt
-........
-音乐
-征服.mp3
-泡沫.mp3
-爱听的
-发如雪.mp3
-最长的电影.mp3
-............
-电影
-动作片
-刀锋战士.rmvb
-十二生肖.rmvb
-...........
-爱情片
-山楂树之恋.avi
-恋爱通告.rmvb
-喜剧
-大话西游.rmvb
-整蛊专家.rmvb
-............................
被这个问题困扰很久了,大家帮帮忙!
作者:
乔青山
时间:
2014-3-11 23:04
你可以考虑遇到txt文件就装到“文件”文件夹里,遇到MP3文件就装到“音乐”文件夹里等等,最后再遍历这些文件架打出树状结构,额。。树状结构毕老师的视频讲的很详细
PS:看到爱情片莫名邪恶了一下- -
作者:
nicholyx
时间:
2014-3-12 10:48
楼上说的毕老师的视频我还没有看到,所以自己想了一种方式出来,但是同一目录中的文件和目录的排序问题没有解决
import java.io.File;
public class ListFile {
private int count ;
public ListFile(String folder){
listFile(new File(folder).listFiles());
}
private void listFile(File[] files) {
for (File f : files) {
if (f.isFile()) {
count++;
printTab();
System.out.println("<f>"+f.getName());
count--;
}
if (f.isDirectory()) {
count++;
printTab();
System.out.println("<d>"+f.getName());
listFile(f.listFiles());
--count;
}
}
}
private void printTab(){
char ch = '\t';
StringBuilder sb = new StringBuilder();
for(int i = count; i>1;i--){
sb.append(ch);
}
System.out.print(sb);
}
public static void main(String[] args) {
new ListFile("D:\\视频");
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2