WEB开发网      濠电娀娼ч崐濠氬疾椤愶附鍋熸い鏍ㄧ〒闂勫嫰鏌﹀Ο渚Ц闁诲氦顕ч湁婵犲﹤楠告禍鍓х磼鏉堛劌绗氶柟宄版嚇閹晠宕归銈嗘濠电偞鍨堕幐鎾磻閹捐秮褰掓偐閻戞﹩妫勯梺鎼炲妼鐎涒晝绮嬪澶樻晝闁挎繂鏌婇敃鍌涚厵閻庢稒锚閻忥絾绻濇繝鍐ㄧ伌闁诡垰鍟村畷鐔碱敂閸♀晙绱樺┑鐐差嚟婵儳螞閸曨剚鍙忛柍鍝勬噹缁€澶嬬箾閹存繄锛嶆鐐灲閹綊宕惰濡插鏌涢妸銉ヮ劉缂佸倸绉归弫鎾绘晸閿燂拷 ---闂備焦瀵уú鈺呭箯閿燂拷
开发学院WEB开发Jsp 遍历目录实现删除,取得大小及深度 阅读

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

 2008-01-05 20:10:39 来源:WEB开发网 闂備線娼уΛ鎾箯閿燂拷闂備礁鎲¢崹鐢垫崲閹扮増鍎嶆い鎺戝€甸崑鎾斥槈濞嗗秳娌紓鍌氱▌閹凤拷濠电姭鎷冮崨顓濈捕闂侀潧娲ゅú銊╁焵椤掍胶鈯曢柕鍥╁仧缁辩偤鏁撻敓锟�闂備線娼уΛ鎾箯閿燂拷  闂備胶枪缁绘鈻嶉弴銏犳瀬闁绘劕鐏氱€氼剟姊洪崹顕呭剰闁逞屽墮缁夊綊寮婚妸褉鍋撻棃娑欏暈闁伙綀浜埀顒傛暬閸嬪﹪宕伴弽褏鏆﹂柨鐕傛嫹
核心提示: 以下的类就实现了对目录的操作,包括删除,遍历目录实现删除,取得大小及深度,取大小以及深度, import java.io.*;import java.util.*;public class ManageContent { PRivate int dir_deep=0; private int dir_size
  以下的类就实现了对目录的操作,包括删除,取大小以及深度。





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





进入讨论组讨论。


  private void allDeep(File file){
   File[] fe = file.listFiles();
   for (int i = 0; i < fe.length; i++) {
    if (fe[i].isDirectory()) {
     allDeep(fe[i]); //取得其所有子目录的深度
     ht.put(fe[i].toString(),new Integer(count(fe[i].toString()) - sourcepath_deep));

Tags:遍历 目录 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接