码迷,mamicode.com
首页 > 其他好文 > 详细

用面向对象实现打印文件夹目录等相关操作

时间:2019-10-12 21:04:15      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:public   多少   class   use   相关   workspace   print   tor   面向对象   

package com.study;
/**
* 用面向对象方法实现打印文件夹目录、输出每个文件和文件夹大小
* 计算此文件夹下共有多少个子文件夹和文件
*/

import java.io.File;

public class DirLength {
private long len;
private String path;
private File src;
public int getFileLength() {
return fileLength;
}


public int getDirLength() {
return dirLength;
}


private int fileLength = 0;
private int dirLength = 0;

public DirLength(String path){
this.path = path;
this.src = new File(path);
}


private void testFile(File src,int length) {

if (src.isDirectory()) {
for (int i = 0; i < length; i++) {
System.out.print("-");
}
System.out.print(src.getName()+": ");
count(src);
System.out.println();


for(File s:src.listFiles()) {
testFile(s, length+1);
}

}else if (src.isFile()) {
for (int i = 0; i < length; i++) {
System.out.print("-");
}
System.out.print(src.getName()+": ");
count(src);
System.out.println();

}else {
return;
}

}

private void count(File src) {
long cou = 0;
if (src.isFile()) {
cou = cou+src.length();
this.fileLength++;
}else if (src.isDirectory()) {
for(File s :src.listFiles()) {
count(s);
this.dirLength++;
}
}else {
return;
}
System.out.print(cou);

}


public static void main(String[] args) {
DirLength aaa = new DirLength("C:\\Users\\Administrator\\eclipse-workspace");
aaa.testFile(aaa.src,0);
System.out.printf("此文件夹包含%d个子文件夹,%d个文件",aaa.getDirLength(),aaa.getFileLength() );
}
}

用面向对象实现打印文件夹目录等相关操作

标签:public   多少   class   use   相关   workspace   print   tor   面向对象   

原文地址:https://www.cnblogs.com/LuJunlong/p/11663687.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!