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程序設計");//寫入日誌
}
}
示例代碼------------------------------------------------------------------------------------
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程序設計");//寫入日誌
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.