当前位置:首页 > 开发 > 编程语言 > Java > 正文

Java把目录下的文件打印出来

发表于: 2015-07-11   作者:蕃薯耀   来源:转载   浏览:
摘要: Java把目录下的文件打印出来 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 蕃薯耀 2015年7月11日 11:02:

Java把目录下的文件打印出来

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀 2015年7月11日 11:02:28 星期六

http://fanshuyao.iteye.com/

 

根据文件夹,把文件夹下面的所有文件打印出来,先排文件夹,再排文件。

 

package com.io;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class ListFiles {

		private static int nextLevel = 0;
		public static void listFilesByDir(File file){
			
			if(file.isFile() || file.listFiles() == null || file.listFiles().length < 1){
				return;
			}else{
				File[] files = file.listFiles();
				files = sortFile(files);
				for(File f : files){
					System.out.print(getSeperator(nextLevel));
					System.out.print(f.getName());
					if(f.isDirectory()){
						System.out.print("(文件夹)");
					}
					System.out.println("");
					
					if(f.isDirectory()){
						nextLevel++;
						listFilesByDir(f);
						nextLevel--;
					}
				}
			}
		}
		
		public static String getSeperator(int nextLevel){
			StringBuffer buffer = new StringBuffer();
			for(int i=0; i<nextLevel; i++){
				buffer.append("——").append(" ");
			}
			return buffer.toString();
		}
		
		public static File[] sortFile(File[] files){
			List<File> list = new ArrayList<File>();
			for (File file : files) {
				if(file.isDirectory()){
					list.add(file);
				}
			}
			for (File file : files) {
				if(file.isFile()){
					list.add(file);
				}
			}
			return list.toArray(new File[list.size()]);
		}
		
		
		public static void main(String[] args) {
			File file = new File("C:/file");
			listFilesByDir(file);
		}
		
		
		
		
		
		
}

 

 

测试结果:

a(文件夹)
—— a1(文件夹)
—— —— aa - 副本 (2).txt
—— —— aa - 副本.txt
—— a2(文件夹)
—— a3(文件夹)
—— a1.txt
—— a2.txt
—— a3.txt
b(文件夹)
—— b1(文件夹)
—— —— bb.txt
—— b2(文件夹)
—— b3(文件夹)
—— —— bb1(文件夹)
—— —— bb1.txt
—— b1.txt
—— b2.txt
—— b3.txt
c(文件夹)
d(文件夹)
—— d1(文件夹)
—— d1 - 副本 (2).txt
—— d1 - 副本 (3).txt
—— d1 - 副本 (4).txt
—— d1 - 副本.txt
—— d1.txt
1.txt
2.txt
3.txt

 

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀 2015年7月11日 11:02:28 星期六

http://fanshuyao.iteye.com/

Java把目录下的文件打印出来

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnbl
<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnbl
每次开发的时候.看到自己的代码被人修改了.但不知道谁改的,用egit查不出来或者说很麻烦,因此要跳转
多个文件目录下Makefile的写法 1、前言   目前从事于linux下程序开发,涉及到多个文件,多个目录
<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnbl
<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog0
需求 今天做日志备份的时候,由于昨晚替换了备份脚本没有完全测试通过,导致了我的备份目录遭到污染
需求 今天做日志备份的时候,由于昨晚替换了备份脚本没有完全测试通过,导致了我的备份目录遭到污染
遍历Symbian某目录下的所有文件应该是Symbian中常用到的功能模块,比如你想写一个类似“程序管理器
遍历Symbian某目录下的所有文件应该是Symbian中常用到的功能模块,比如你想写一个类似“程序管理器
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号