您的位置:首页 > 其它

遍历目录实现删除,取得大小及深度

2004-12-20 18:05 246 查看
遍历目录实现删除,取得大小及深度 出处:CSDN
作者:shuqianlz
以下的类就实现了对目录的操作,包括删除,取大小以及深度。

import java.io.*;
import java.util.*;

public class ManageContent {
private int dir_deep=0;
private int dir_size = 0;
private int sourcepath_deep; //输入路径相对于根目录的深度
private Hashtable ht=new Hashtable(); //储存输入路径下的所有子目录,及其相对于根目录的深度keys=(String)dirPath,values=(Integer)dirDeep

public synchronized int getSize(String dir_path) throws FileNotFoundException {
File dir = new File(dir_path);
if (!dir.exists()) {
throw new FileNotFoundException();
}
if (!dir.isDirectory()) {
dir_size = (int) dir.length();
}
else {
File[] fe = dir.listFiles();
for (int i = 0; i < fe.length; i++) {
if (fe[i].isDirectory()) {
getSize(fe[i].toString());
}
else {
dir_size += fe[i].length();
}
}
}
return dir_size;
}
public synchronized void deleteFiles(String dir_path) throws FileNotFoundException {
File file = new File(dir_path);
if (!file.exists()) {
throw new FileNotFoundException();
}
if (file.isDirectory()) {
File[] fe = file.listFiles();
for (int i = 0; i < fe.length; i++) {
deleteFiles(fe[i].toString());
fe[i].delete(); //删除已经是空的子目录
}
}
file.delete(); //删除总目录
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐