- import java.io.*;
- class FileDemo
- {
- public static void main(String[] args) throws IOException{
- File file = new File("F:\Courseware\JAVA\Java\jdk1.7.0_03"); //根目录可以自定义
- FileWriter fw = new FileWriter("Catalog.txt"); //将自定的根目录下文件列表输出到该文件中
- printLevel(file,0,"Catalog.txt");
- }
- public static String getLevelEx(int level) { //输出格式的层次,让目录分级
- StringBuilder sb = new StringBuilder();
- sb.append("|---");
- for (int i = 0;i<level ;i++ )
- {
- sb.insert(0,"| ");
- }
- return sb.toString();
- }
- public static void printLevel(File dir, int level,String str) throws IOException{
- BufferedWriter fw = new BufferedWriter(new FileWriter(str,true));
- fw.write(getLevelEx(level)+dir.getName()); //写入
- fw.newLine();
-
- level++;
- File[] files =dir.listFiles();
- for (int l=0;l<files.length ;l++ )
- {
- if(files[l].isDirectory())
- printLevel(files[l],level,str); //递归调用
- else{
- fw.write(getLevelEx(level)+files[l].getName()); //写入
- fw.newLine();
- }
- }
- fw.close();
- }
- }
复制代码 输出结果中 子目录的层次都没有出现问题,都是至上而下的。但是就是根目录会写在txt文件的最下端,看起来像是写入顺序的问题。
如果大家调试出一样的结果,有人可以指教一下这是为什么吗?{:soso_e132:}
|