8月24日。
来源:互联网 发布:深度linux系统安装 编辑:程序博客网 时间:2024/04/29 08:25
列出磁盘目录树
package cn.itcast;
import java.io.*;
public class ListTree
{
public static String makeSpaces(int level)
{
StringBuffer sbf = new StringBuffer();
for (int i = 0; i < level; i++)
{
sbf.append(" ");
}
return sbf.toString();
}
public static void viewTree(FileWrapper fw)
{
if(!fw.exists())
{
System.out.println ("该文件不存在!");
return;
}
System.out.println (makePrefix(fw) + fw.getName());
if(fw.isDirectory())
{
File[] fs = fw.listFiles();
for (int i = 0 ;i < fs.length;i++)//File fl : fs)
{
File f1 = fs[i];
FileWrapper fw1 = null;
if(i == fs.length - 1)
{
fw1 = new FileWrapper(f1,false,fw);
}
else
{
fw1 = new FileWrapper(f1,true,fw);
}
viewTree(fw1);//递归调用
}
}
}
public static void main(String[] args)
{
File file;
if(args.length < 1)
{
file = new File(".");
}
else
{
file = new File(args[0]);
}
FileWrapper fw = new FileWrapper(file,true,null);
viewTree(fw);
}
public static void makeParentPrefix(FileWrapper fw,StringBuffer prefix)
{
if(fw.getMyParent().getMyParent() == null)
{
return;
}
FileWrapper parent = fw.getMyParent();
if(parent.isLast())
{
prefix.append(" │");
}
else
{
prefix.append(" ");
}
makeParentPrefix(parent,prefix);
}
public static String makePrefix(FileWrapper fw)
{
if(fw.getMyParent() == null)
{
return "";
}
StringBuffer sbf = new StringBuffer();
if(fw.isLast())
{
sbf.append("─├");
}
else
{
sbf.append("─└");
}
makeParentPrefix(fw,sbf);
sbf.reverse();
return sbf.toString();
}
}
class FileWrapper extends File
{
private boolean bLast = false;
private FileWrapper parent = null;
public FileWrapper(File f,boolean bLast,FileWrapper parent)
{
super(f.getPath());
this.parent = parent;
this.bLast = bLast;
}
public FileWrapper getMyParent()
{
return parent;
}
public boolean isLast()
{
return bLast;
}
}
- 8月24日。
- 8月24日
- 8月24日
- 8月24日 夜
- 雅加达出差(8月24日到25日)
- 2004年8月24日
- 8月24日培训日记
- 2006年8月24日工作总结
- 8月24日学习杂记
- 2007年8月24日
- 2012年8月24日
- ACM集训日记-8月24日
- 8月24日训练笔记
- 2017年8月24日 星期四
- 12月24日
- 6月24日
- 10月24日
- 7月24日
- 搞笑猪哥
- web开发,从jsp开始
- 顶级游戏设计大师谈如何成为一名游戏设计师!
- C#中实现字符串表达式计算
- JAVA 5.0 新特性简介(近期将增加激动人心特性,敬请期待)
- 8月24日。
- 8月25日学习杂记
- app class loader总结
- 因为更新,所以更新
- 8月26日。
- Eclipse3.2+Tomcat5.5.17+Oracle9配置
- 什么是FreeMarker?
- 印度歌舞《新娘嫁人了,新郎不是我》
- 网络搜集一