您的位置:首页 > 其它

打印一个目录,并以树形结构显示

2014-05-30 11:11 741 查看
import java.io.*;
import java.util.*;
public class VisualDirectory
{
private static int times;
public static void deepList(File file)
{
if(file.isFile()||file.listFiles().length==0)
{
<span style="white-space:pre">			</span>buffer.append(file.getName());
<span style="white-space:pre">			</span>System.out.println(buffer);
<span style="white-space:pre">			</span>return;
}
else
{
File[] files=file.listFiles();
files=VisualDirectory.sort(files);
for(File fil:files)
{
StringBuffer buffer=new StringBuffer();
if(fil.isFile())
{

buffer.append(VisualDirectory.getTabs(times));
buffer.append(fil.getName());
}
else
{
buffer.append(VisualDirectory.getTabs(times));
buffer.append(fil.getName());
System.out.println(buffer);
times++;
VisualDirectory.deepList(fil);
times--;
}
}
}
}
public static File[] sort(File[] files)
{
ArrayList<File> list=new ArrayList<File>();
for(File file:files)
{
if(file.isDirectory())
{
list.add(file);
}
}
for(File file:files)
{
if(file.isFile())
{
list.add(file);
}
}
return list.toArray(new File[files.length]);
}

public static String getTabs(int times)
{
StringBuffer str=new StringBuffer();
for(int i=0;i<times;i++)
{
str.append("\t");
}
return str.toString();
}

public static void main(String args[])
{
File file=new File("c:/MATLAB7");
VisualDirectory.deepList(file);
//System.out.println("\tab");
//System.out.println('\t'+"ab");转义字符可以用字符形式也可以使用字符串形式
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: