java統計指定文件的大小以及包含的文件夾和文件數

package com.stone.caculator;

import java.io.File;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Caculator {
	int totalFolder = 0;
	int totalFile = 0;
	public static void main(String args[]) {
		String folder = "F:/movie";
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		System.out.println("統計日期:"+sdf.format(new Date()));
		try {
			Caculator size = new Caculator();
			long fileSizeByte = size.getFileSize(new File(folder));
			DecimalFormat df=(DecimalFormat)DecimalFormat.getInstance();
			System.out.println("總文件夾數: "+ df.format(size.getTotalFolder()));
			System.out.println("總文件數: " + df.format(size.getTotalFile()));
			df.setGroupingSize(3);
			System.out.println("文件夾大小(單位字節): " + df.format(fileSizeByte) + " Bytes");
		} catch (Exception e) {
			e.printStackTrace();
		}
	} 
	public long getFileSize(File folder) {
		long foldersize = 0;
		File[] filelist = folder.listFiles();
		for (int i = 0; i < filelist.length; i++) {
			if (filelist[i].isDirectory()) {
				totalFolder++;
				foldersize += getFileSize(filelist[i]);
			} else {
				totalFile++;
				foldersize += filelist[i].length();
			}
		}
		return foldersize;
	}

	public int getTotalFolder() {
		return totalFolder;
	}

	public int getTotalFile() {
		return totalFile;
	}

}

發佈了180 篇原創文章 · 獲贊 7 · 訪問量 59萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章