在java中使用面向對象來統計文件夾的大小

<code>package cn.io.com;
//使用面向對象來統計文件夾的大小

import java.io.File;

public class DirCount {
\tprivate long len;
\tprivate String path;
\tprivate File src;
\tprivate int fileSize;//文件的個數
\tprivate int dirSize;//文件夾的個數
\tpublic int getFileSize() {
\t\treturn fileSize;
\t}
\tpublic void setFileSize(int fileSize) {
\t\tthis.fileSize = fileSize;
\t}
\tpublic int getDirSize() {
\t\treturn dirSize;
\t}
\tpublic void setDirSize(int dirSize) {
\t\tthis.dirSize = dirSize;
\t}
\tpublic DirCount(String path) {
\t\tthis.path=path;
\t\tthis.src=new File(path); //交給了構造方法來解決
\t\tcount(this.src);//同時構造方法調用類的私有方法
\t}
\tpublic static void main(String[] args) {
\t\tDirCount dir=new DirCount("D:\\\\\\\\有道詞典"); //這是面向對象的
\t\tSystem.out.println(dir.getLen()+"-->"+dir.getFileSize()+"-->"+dir.getDirSize()); //通過get方法獲得返回的值
\t\t
\t}
\t//統計大小 因為在構造方法中調用所有方法要私有
\tprivate void count(File src) {
\t\t//獲取大小 要進行判斷因為只有文件才有大小
\t\tif(null!=src&&src.exists()) {
\t\t\tif(src.isFile()) {
\t\t\t\tthis.fileSize++;
\t\t\t\tlen+=src.length();
\t\t\t}else {//子孫級
\t\t\t\tthis.dirSize++;
\t\t\t\tfor(File s:src.listFiles()) { //對文件夾進行遍歷
\t\t\t\t\tcount(s);
\t\t\t\t}
\t\t\t\t
\t\t\t}
\t\t}
\t}
\tpublic long getLen() {
\t\treturn len;
\t}
\tpublic void setLen(long len) {
\t\tthis.len = len;
\t}
\t
}
/<code>


分享到:


相關文章: