<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-19  評論-2  文章-1  trackbacks-0

    import java.io.*;

    public class FileRead{
     private static int space=0;
     private static double totalFile = 0;
     private static double totalDirectory = 0;
     
     public String printSpace(int space){
      String str = "";
      for(int i=0;i<space;i++)
       str += "    ";
      return str; 
     }

     public void searchFile(File f)throws IOException{
      String path = f.getAbsolutePath();
      File currentFile = new File(path); //取得當前路徑的文件
      File[] file = currentFile.listFiles();
      
      space++;

      for(int i=0;i<file.length;i++){
       System.out.println(printSpace(space) + file[i].getName());
       if(file[i].isDirectory()){
        totalDirectory  += 1;
        searchFile(file[i]);
        if(space>0)
         space--;   
       }
       totalFile += 1; 
      }
     } 
     public static void main(String args[])throws IOException{
      String path = null;
      if(args.length<1)
       path =".";
      else
       path = args[0];
      FileRead read = new FileRead();
      File file = new File(path);
      
      if(!file.exists()){
       System.err.print("the path is error");
       System.exit(1);
      } 
      read.searchFile(file);
      System.out.println("the file is :" + (totalFile-totalDirectory));
      System.out.println("thd directory is : " + totalDirectory);
     }
    }
    這個程序在便歷多文件時會出現問題?不知道問題在哪里?

    合成模式
            合成模式他是一種樹型結構,他可以通過對合成的圖的單獨部分方法達到對整個合成圖方法問。他由三部分組成,抽象構件—Component和樹枝構件—Composite以及樹葉構件Leaf。合成模式分為兩種,一種是透明式的。另一個是安全式的合成模式。
             透明式的合成模式和安全式的合成模式,他們的組成成分都一樣,他們的區別是:透明式的合成模式,他在抽象構件種增加了操作子類對象的一些接口,這樣在實現的過程中,無論是樹枝構件還是樹葉構件都必須實現這些接口,這對樹葉構件來說,這種接口實現是多余的,所以樹葉構件是通過平庸式的方式來實現,這種實現,將造成編譯時可以通過,但是當用戶在應用的過程過如果調用這些方法,將造成運行時的錯誤,這就造成了程序的不安全;而安全式的合成模式,他并沒有在抽象構件實現對子結點接口的申明,他是通過樹枝直接對管理子類所需要的方法進行申明,這就給程序帶來靈活性,但是也給程序帶來不便的管理性,這種實現使得程序不會出現運行時的錯誤。
             一般我們在這樣的情況下應用合成模式:
                      1、當我們要體現構件的部分和整體的結構時。
                      2、當我們要要忽略個體構件與整體構件的區別時,并且要平等的對待個體構件和整體構件時。
             使用合成構件有以下好處:
                      1、使用合成模式可以很容易的增加新構件的種類。
                      2、使用合成模式方便了用戶對構件的使用,因為他們不用擔心使用的是樹頁構件還是樹枝構件。
             他的缺點:使用合成模式之后在控制樹枝構件的類型就不是那么容易了。

    posted on 2005-08-02 01:56 sky 閱讀(178) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产AV无码专区亚洲AVJULIA | 一区视频免费观看| 全免费a级毛片免费看无码| 亚洲福利视频一区二区三区| 日韩精品无码一区二区三区免费| 亚洲AV永久青草无码精品| 十八禁视频在线观看免费无码无遮挡骂过 | 国产一级高清视频免费看| 亚洲色偷偷色噜噜狠狠99| 日韩av无码成人无码免费| 亚洲人成网站色在线观看| 成人免费a级毛片无码网站入口| 亚洲一区二区三区无码国产| 国国内清清草原免费视频99 | 久久亚洲私人国产精品| 久久九九兔免费精品6| 激情内射亚洲一区二区三区爱妻| 国产va精品免费观看| 麻豆亚洲AV成人无码久久精品 | 18禁超污无遮挡无码免费网站国产| 7777久久亚洲中文字幕| 免费观看午夜在线欧差毛片 | 亚洲无删减国产精品一区| 美女被cao免费看在线看网站| 国产v亚洲v天堂a无| 国产精品久久久久影院免费| 特级毛片爽www免费版| 国产亚洲精品一品区99热| 国产精品免费观看| 久久精品国产亚洲av品善| 亚洲小说区图片区另类春色| 中国人xxxxx69免费视频| 亚洲国产成人手机在线观看| 最新精品亚洲成a人在线观看| 一级毛片全部免费播放| 亚洲最大天堂无码精品区| 久久久久亚洲AV成人网| 18禁美女裸体免费网站| 国产在亚洲线视频观看| 亚洲AV无码一区二区乱孑伦AS| 成人一a毛片免费视频|