闂傚倸鍊峰ù鍥Υ閳ь剟鏌涚€n偅宕岄柡宀€鍠栭、娑樷堪閸愮偓姣夋俊鐐€戦崕濠氬箯閿燂拷 (0) +1 闂傚倷娴囧畷鍨叏瀹ュ拋鍚嬮柛鈩冾殢娴硷拷 (0) +1 闂傚倸鍊搁崐鎼併偑鐎涙ḿ顩查柣鎴f缁狀垶鏌ㄩ悤鍌涘 (0) +1
闂傚倸鍊峰ù鍥Υ閳ь剟鏌涚€n偅宕岄柡宀€鍠栭、娑樷堪閸愮偓姣夋俊鐐€戦崕鏌ュ垂閸ф钃熼柣鏃囥€€閸嬫挸鈽夊▍顓т簼閹便劑宕惰閺€鑺ャ亜閺囩偞顥為悗姘炬嫹闂傚倸鍊风粈渚€骞栭銈嗗仏妞ゆ劧绠戠壕鍧楁煕閹邦垼鍤嬮柤鏉挎健閺屾稑鈽夊▎鎰▏缂傚倷璁查弲鐘诲蓟閻旂⒈鏁嶆繝濠傚枤閺嗩厼顪冮妶鍐ㄥ姷闁瑰嚖鎷�>>
0

正在阅读:遍历目录实现删除,取得大小及深度遍历目录实现删除,取得大小及深度

2004-06-29 09:53 出处:CSDN 作者:shuqianlz 责任编辑:linjixiong

  以下的类就实现了对目录的操作,包括删除,取大小以及深度。



 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(); //删除总目录
  }

 


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:

键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品
闂備礁缍婂ḿ褔顢栭崱妞绘敠闁逞屽墴閹鎷呴崨濠備淮濠碘槅鍋撻幏锟�闂備焦鎮堕崕鎶藉磻濞戙垹鏄ラ悘鐐板嫎娴滄粓鏌涢锝嗙闁告棑鎷�