24种设计模式----(*独一无二*单例模式)

来源:互联网 发布:java框架批量添加数据 编辑:程序博客网 时间:2024/05/17 01:40
以写日志为例:
示例代码------------------------------------------------------------------------------------
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程序设计");//写入日志
        }


}