Discuss / Java / 这题不难,我会

这题不难,我会

Topic source

代码:

package com.itranswarp.learnjava;

import java.io.File;
import java.io.IOException;

/**
 * Learn Java from https://www.liaoxuefeng.com/
 * 
 * @author liaoxuefeng
 */
public class Main {

	public static void main(String[] args) throws IOException {
		File currentDir = new File(".");
		System.out.println(currentDir.getAbsolutePath());
		listDir(currentDir.getCanonicalFile(),0);
	}

	static void listDir(File dir,int level) {
		// TODO: 递归打印所有文件和子文件夹的内容
		File[] fs = dir.listFiles();
		if (fs != null) {
			for (File f : fs) {
				//根据当前目录的层级打印空格
				for(int i=0;i<level;i++ ) {
					System.out.print("  ");
				}
				//如果是目录,继续递归
				if(f.isDirectory()) {
					System.out.println(f.getName());
					try {
						listDir(f.getCanonicalFile(),level+1);
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				//否则直接输出文件名
				}else {   
					System.out.println(f.getName());
				}
			}
		}
		
	}
}

结果:

F:\eclipse-java\workspace\io-file\.
.classpath
.project
bin
  com
    itranswarp
      learnjava
        Main.class
src
  com
    itranswarp
      learnjava
        Main.java


  • 1

Reply