(IO)File-列出目录下的所有文件

列出目录下的所有文件

 

1.listFiles()  列出目录下的所有文件

2.递归调用

 

package com.gc.design.single;

import java.io.File;

public class EncodDemo {
	public static void main(String[] args) {
		File file = new File("d:\\temp");
		listAll(file,0);
	}

	private static void listAll(File dir, int level) {
		System.out.println(getLevel(level)+dir.getName());
		level++;
		File[] files = dir.listFiles();
		for(File file : files) {
			if(file.isDirectory()) {
				listAll(file,level);//recurse
			}else {
				System.out.println(getLevel(level)+file.getName());
			}
		}
	}

	private static String getLevel(int level) {
		StringBuilder builder = new StringBuilder();
		builder.append("|--");
		for(int i=0;i<level;i++)
			builder.insert(0, "|  ");
		return builder.toString();
	}
}
 
|--temp
|    |--1
|    |    |--2
|    |    |    |--3
|    |    |    |    |--1.txt
|    |    |    |--4
|    |--x.java

你可能感兴趣的:(File)