24種設計模式----(*獨一無二*單例模式)

以寫日誌爲例:
示例代碼------------------------------------------------------------------------------------
package com.moshi.singleton;


import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;


public class logmagage {
   private static PrintWriter out;
   private final static String filename="G://log.txt";//設置日誌問題路徑
//唯一實例 logmagage
   private static logmagage logmagage;
   private logmagage(){
           outinit();
   }
   public static void outinit(){
           if(out==null){
                   try {
                        out=new PrintWriter(new FileWriter(filename,true),true);
                } catch (IOException e) {
                        // TODO Auto-generated catch block
                        System.out.print("無法打開日誌文件");
                        e.printStackTrace();
                        out=null;
                }
           }
   }
   public static synchronized void log(String msg){
           if(logmagage==null||out==null){logmagage=new logmagage();}
           if(out!=null){
                   out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+":"+msg);
           }
   }
   public static void destory(){
           if(out!=null)out.close();
           
   }
}

//客戶端調用
package com.moshi.singleton;


public class logclient {


        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
    logmagage.log("javaweb程序設計");//寫入日誌
        }


}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章