zoukankan      html  css  js  c++  java
  • java学习笔记——IO部分(遍历文件夹)

      用File类写的一个简单的工具,遍历文件夹,获取该文件夹下的所以文件(含子目录下的文件)和文件大小:

    /**
     * 列出指定目录下(包含其子目录)的所有文件
     * @author syskey
     *
     */
    import java.io.File;
    import java.text.DecimalFormat;
    
    public class FileList {	
    	
    		public static void listDirectory(File dir){
    			if(!dir.exists()){
    				throw new IllegalArgumentException("目录"+dir+"不存在!");
    			}
    			if(!dir.isDirectory()){
    				throw new IllegalArgumentException(dir+"不是一个目录!");
    			}			
    			/**
    			 * 采用了递归的方法,遍历了所有目录
    			 */
    			File files[] =dir.listFiles();
    			if(files!=null&&files.length>0){
    				for (File file : files) {
    					if(file.isDirectory()){
    						listDirectory(file);
    					}else{
    						String filesize;
    						DecimalFormat df = new DecimalFormat("0.00");
    						if(file.length()<1024){
    							filesize = df.format((double) file.length())+"B";
    						}else if(file.length()<1024*1024){
    							filesize = df.format((double) file.length()/1024)+"KB";
    						}else if(file.length()<1024*1024*1024){
    							filesize = df.format((double) file.length()/(1024*1024))+"MB";
    						}else {
    							filesize = df.format((double) file.length()/(1024*1024*1024))+"GB";
    						}
    						System.out.println(file+"  "+filesize);						
    					}
    				}
    			}
    			
    			
    		}
    		
    	}
    
    
    
  • 相关阅读:
    设计模式开始--工厂模式
    设计模式开始--UML类之间关系表示
    设计模式开始1--不明觉厉
    Gas Station
    Validate Binary Search Tree
    Word Ladder
    (转)基于快速排序的TOPK算法
    Number of 1 Bits
    Word Search
    Rotate Array
  • 原文地址:https://www.cnblogs.com/caoleiCoding/p/6416110.html
Copyright © 2011-2022 走看看