<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 閱讀(176) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 国产2021精品视频免费播放| 亚洲人成无码网WWW| 91频在线观看免费大全| 午夜老司机免费视频| 亚洲精品无码永久在线观看| 亚洲成a人片在线观| 九九九精品视频免费| AA免费观看的1000部电影| 国产亚洲人成网站在线观看不卡| 涩涩色中文综合亚洲| 日韩午夜理论免费TV影院| 亚洲色婷婷综合开心网| 国产伦精品一区二区免费| 成人黄网站片免费视频| 19禁啪啪无遮挡免费网站| 激情97综合亚洲色婷婷五| 亚洲AV永久无码精品放毛片| 1000部无遮挡拍拍拍免费视频观看| 亚洲影院在线观看| 国产啪精品视频网站免费尤物| 亚洲Av无码精品色午夜| 日韩毛片在线免费观看| 免费A级毛片无码A∨| 亚洲资源最新版在线观看| 99国产精品免费视频观看| 亚洲youjizz| 无码国产精品一区二区免费 | 久久香蕉国产线看观看亚洲片| 99视频在线精品免费| 亚洲六月丁香婷婷综合| 免费人妻av无码专区| 久久精品国产亚洲av天美18| 成人毛片免费在线观看| 国产精品亚洲专区在线观看| 国产一级淫片免费播放| 立即播放免费毛片一级| 免费看男女下面日出水视频| 久久精品国产大片免费观看| 亚洲精品高清久久| 8x8×在线永久免费视频| 亚洲国产综合在线|