統計ファイル

2480 ワード

タスク:1.フォルダの下にあるすべての標準ファイルの数を統計します.2.フォルダタイプ、場所、サイズ、含まれるファイルとフォルダの数を統計します.最後の変更時間、読み取り専用かどうか、非表示かどうか
package sj.FileDemo_v2;

import java.io.File;

/**
 *                
 * @author Timmy
 *
 */
public class FileDtil {
	
	static int countF = 0;
	static int result = 0;
	
	public static void main(String[] args) {
		String p = "D:\\Program Files\\Java";
		cFile(p);
		System.out.println("          "+result+" ");
		System.out.println("         "+countF+" ");
	}
	
	/**
	 *                 
	 * 
	 * @param path =>        
	 * @return =>           
	 */
	public static void cFile(String path) {
		
		
		
		//      
		File file = new File(path);
		
		//           
		if (!file.exists()) {
			System.out.println("       ");
			return;
		}
		
		//      ,                     
		File[] fs = file.listFiles();
		
		//  fs   null
		if (fs == null) {
			System.out.println("            ");
			return;
		}
		
		//    ,      3		
		for (int i = 0; i < fs.length; i++) {
			File f = fs[i];
			
			//      
			String str = f.getAbsolutePath();
			
			if(f.isFile()) {
				System.out.println("      "+str);
				
				//  
				String s = f.getParent();
				System.out.println("    “"+s+"”    ");
				
				//  、      
				long l = f.length();
				long t = f.lastModified();
				System.out.println("    :"+l+"  ");
				System.out.println("        :"+t);
				
				//    、    
				boolean bRead = f.canRead();
				boolean bHidden = f.isHidden();
				if (bRead) {
					System.out.println("     ");
				} else {
					System.out.println("      ");
				}
				
				if (bHidden) {
					System.out.println("      ");
				} else {
					System.out.println("       ");
				}
				
				System.out.println("*************************************");
				result++;
			} else if(f.isDirectory()) {
				countF++;
				cFile(str);
			}
			
		}
		
	}
}