首页 > 其他 > 详细

用程序打印文件目录

时间:2016-03-28 16:42:26      阅读:202      评论:0      收藏:0      [点我收藏+]

package stream.cn;

import java.io.File;
import java.util.ArrayList;

public class Test1 {

//用于判断目录和文件所处的层次
private static int time;

//递归的方法
public static void Pailie(File file){


if(file.isFile() || 0 ==file.listFiles().length ){

return;
}
else{ //先对目录里边的内容进行处理,应用数组,将名称放进数组中 等待打印

File [] files = file.listFiles();

files = sort(files); // 吧目录里的内容进行排序,吧目录放前,后边放文件

for(File f: files){

StringBuffer output = new StringBuffer();
if(f.isFile()){
output.append(gettab(time));
output.append(f.getName());
}
else{
output.append(gettab(time));
output.append(f.getName());
output.append("\\");
}
System.out.println(output);
if(f.isDirectory()){ //递归条件
time++;

Pailie(f);

time--;
}
}
}
}
//整理文件数组,使得目录在文件之前
private static File[] sort(File[] files){
ArrayList<File> sorted = new ArrayList<File>();

for(File f :files){
if (f.isDirectory()){
sorted.add(f);
}
}
for(File f :files){
if (f.isFile()){
sorted.add(f);
}
}

return sorted.toArray(new File[files.length]);
}
//判断天剑tab 的方法,打印名称前的缩进,整理到一个数组中,
private static String gettab(int time){
StringBuffer buffer = new StringBuffer();

for (int i = 0; i < time; i++) {
buffer.append("\t");
}
return buffer.toString();
}


public static void main(String[] args) {
File file =new File("F:\\肖宾文件\\电影");
Pailie (file);
}
}

用程序打印文件目录

原文:http://www.cnblogs.com/Boolean-show/p/5329443.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!