Java递归列出文件目录结构

最近学Java,学到了File类,感觉很好用,于是就写个程序列出我搞OI时留下的代码文件的目录树。

 

//By LYLtim

import java.io.File;

public class TestFile {

	public static void main(String[] args) {
		File f = new File("D:/Temp/LYLtim_OI");
		System.out.println(f.getName());
		list(f, 0);
	}

	static void list(File f, int lv) {
		File[] childs = f.listFiles();
		for (int i = 0; i < childs.length; i++) {
			for (int j = 0; j < lv; j++)
				System.out.print(" ┃");
			if (i == childs.length - 1)
				System.out.println(" ┗" + childs[i].getName());
			else
				System.out.println(" ┣" + childs[i].getName());
			if (childs[i].isDirectory())
				list(childs[i], lv + 1);
		}
	}

}

 

LYLtim_OI
┣Others
┃ ┣8no_bfs.pas
┃ ┣apples.pas
┃ ┣bag.pas
┃ ┣box.pas
┃ ┣budget.pas
┃ ┣dijkstra.pas
┃ ┣divisibility.pas
┃ ┣egg.pas
┃ ┣energy.pas
┃ ┣expand.pas
┃ ┣Fourcolor.pas
┃ ┣GF.pas
┃ ┣gfz.pas
┃ ┣hash.pas
┃ ┣horse.pas
┃ ┣jimuchengbao.pas
┃ ┣lcs.pas
┃ ┣magic.pas
┃ ┣medic.pas
┃ ┣message.pas
┃ ┣ministry.pas
┃ ┣money.pas
┃ ┣new_hanoi.pas
┃ ┣NOIp2001T4.pas
┃ ┣NOIp2002T4.pas
┃ ┣palin.pas
┃ ┣pane.pas
┃ ┣pane2.pas
┃ ┣party.pas
┃ ┣perform.pas
┃ ┣puzzle.pas
┃ ┣queue.pas
┃ ┣rebuild.pas
┃ ┣resume.pas
┃ ┣sequence.pas
┃ ┣short.pas
┃ ┣soldier.pas
┃ ┣spfa.pas
┃ ┣spy.pas
┃ ┣stone.pas
┃ ┣strs.pas
┃ ┣table.pas
┃ ┣tower.pas
┃ ┣tower2.pas
┃ ┣tree.pas
┃ ┣tree1.pas
┃ ┣tree2.pas
┃ ┣TYvj 1042.pas
┃ ┣TYvj 1043.pas
┃ ┣Ural 1167 Horses.pas
┃ ┣Vijos 1234.pas
┃ ┣WatchDVD.pas
┃ ┣whybert.pas
┃ ┣wird.pas
┃ ┣word.pas
┃ ┗words.pas
┣《实用算法基础教程》代码
┃ ┣!做题、问题记录.txt
┃ ┣a.in
┃ ┣BubbleSort.pas
┃ ┣gjdyh.pas
┃ ┣InsertSort.pas
┃ ┣MergeSort.pas
┃ ┣P100T6.pas
┃ ┣P100T7.pas
┃ ┣P110T1ex1.pas
┃ ┣P110T1ex2.pas
┃ ┣P110T1ex3.pas
┃ ┣P110T1ex4maze1.pas
┃ ┣P110T1ex4maze2.pas
┃ ┣P110T2.pas
┃ ┣P111T6.pas
┃ ┣P116ex2.pas
┃ ┣P12T1.pas
┃ ┣P12T2.pas
┃ ┣P12T3.pas
┃ ┣P145T1.pas
┃ ┣P145T2.pas
┃ ┣P146T10.pas
┃ ┣P146T10_2.pas
┃ ┣P146T3.pas
┃ ┣P146T4.pas
┃ ┣P146T5.pas
┃ ┣P146T7.pas
┃ ┣P146T8.pas
┃ ┣P146T9.pas
┃ ┣P155T1.pas
┃ ┣P155T2.pas
┃ ┣P156T3.pas
┃ ┣P179T1.pas
┃ ┣P179T2.pas
┃ ┣P179T3.pas
┃ ┣P193ex1.pas
┃ ┣P198ex2.pas
┃ ┣P202T1.pas
┃ ┣P20T2.pas
┃ ┣P20T3.pas
┃ ┣P20T4.pas
┃ ┣P20T5.pas
┃ ┣P211T1.pas
┃ ┣P211T2.pas
┃ ┣P22 R to 10.pas
┃ ┣P222T2.pas
┃ ┣P222T3.pas
┃ ┣P227ex1.pas
┃ ┣P23 10 real to R.pas
┃ ┣P233ex2.pas
┃ ┣P240ex3.pas
┃ ┣P264ex2.pas
┃ ┣P265ex3_kruskal.pas
┃ ┣P265ex3_prim.pas
┃ ┣P267ex4.pas
┃ ┣P31T1.pas
┃ ┣P31T2.pas
┃ ┣P31T4ex1.pas
┃ ┣P31T4ex2.pas
┃ ┣P31T4ex3.pas
┃ ┣P31T4ex4.pas
┃ ┣P48T1.pas
┃ ┣P48T2.pas
┃ ┣P55T1.pas
┃ ┣P55T2.pas
┃ ┣P56T3.pas
┃ ┣P56T4.pas
┃ ┣P56T5.pas
┃ ┣P56T6.pas
┃ ┣P62T1.pas
┃ ┣P62T2.pas
┃ ┣P62T3.pas
┃ ┣P62T4.pas
┃ ┣P62T5.pas
┃ ┣P62T6.pas
┃ ┣P72T1.pas
┃ ┣P73T2.pas
┃ ┣P73T3.pas
┃ ┣P73T4.pas
┃ ┣P73T5.pas
┃ ┣P73T6.pas
┃ ┣P79T1.pas
┃ ┣P80T3.exe
┃ ┣P80T3.pas
┃ ┣P80T4.pas
┃ ┣P80T5.pas
┃ ┣P80T6.pas
┃ ┣P80T7.pas
┃ ┣P88T1.pas
┃ ┣P88T2.pas
┃ ┣P88T3.pas
┃ ┣P88T4.pas
┃ ┣P88T5.pas
┃ ┣P98T1.pas
┃ ┣P98T2.pas
┃ ┣P98T3.pas
┃ ┣P99T4.pas
┃ ┗QSort.pas
┣《实用算法基础教程》配套练习
┃ ┣1.基础
┃ ┃ ┣apple.pas
┃ ┃ ┣ball.pas
┃ ┃ ┣password.pas
┃ ┃ ┣save.pas
┃ ┃ ┣scholar.pas
┃ ┃ ┣series.pas
┃ ┃ ┣sum.pas
┃ ┃ ┣switch.pas
┃ ┃ ┣train.pas
┃ ┃ ┣tree.pas
┃ ┃ ┗unhappy.pas
┃ ┣11.分治
┃ ┃ ┣car.pas
┃ ┃ ┗equ.pas
┃ ┣13.广搜
┃ ┃ ┣cell.pas
┃ ┃ ┣coin.pas
┃ ┃ ┣save.pas
┃ ┃ ┗turn.pas
┃ ┣14.动归
┃ ┃ ┣boxes.pas
┃ ┃ ┣chorus.pas
┃ ┃ ┣flower.pas
┃ ┃ ┣knight.pas
┃ ┃ ┣mine.pas
┃ ┃ ┣missile.pas
┃ ┃ ┣ship.pas
┃ ┃ ┣short.pas
┃ ┃ ┣tower.pas
┃ ┃ ┗weight.pas
┃ ┣2.枚举
┃ ┃ ┣apple.pas
┃ ┃ ┣num.pas
┃ ┃ ┣number.pas
┃ ┃ ┣number1.pas
┃ ┃ ┣pnumber.pas
┃ ┃ ┗weight.pas
┃ ┣3.进制
┃ ┃ ┣change.pas
┃ ┃ ┣mchange.pas
┃ ┃ ┣nchange.pas
┃ ┃ ┣num.pas
┃ ┃ ┗sequence.pas
┃ ┣4.高精度
┃ ┃ ┣multiply.pas
┃ ┃ ┣sum.pas
┃ ┃ ┗yubikili.pas
┃ ┣5.排序
┃ ┃ ┣carry.pas
┃ ┃ ┣count.pas
┃ ┃ ┣fruit.pas
┃ ┃ ┣knumber.pas
┃ ┃ ┣masses.pas
┃ ┃ ┣random.pas
┃ ┃ ┣scholar.pas
┃ ┃ ┣secret.pas
┃ ┃ ┗subset.pas
┃ ┣7.递推
┃ ┃ ┣domino.pas
┃ ┃ ┣knight.pas
┃ ┃ ┣rabbit.pas
┃ ┃ ┣stairs.pas
┃ ┃ ┣surface.pas
┃ ┃ ┗tower.pas
┃ ┣9.回溯
┃ ┃ ┣compages.pas
┃ ┃ ┣decompose.pas
┃ ┃ ┣form.pas
┃ ┃ ┗queen.pas
┃ ┗做题记录.txt
┗我的OI生涯.txt

posted @ 2012-01-16 19:50  LYLtim  阅读(2008)  评论(2编辑  收藏  举报