fileserializer.java~1~

来自「一个自己做的公司网站和办公职员管理系统。」· JAVA~1~ 代码 · 共 78 行

JAVA~1~
78
字号
package ws.woa.logger;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 僼傽僀儖偵儘僌傪弌椡偡傞僔儕傾儔僀僓丅
 * 
 * @author Naoki Takezoe
 */
public class FileSerializer implements LogSerializer {
	
	private File file;
	private String encode = System.getProperty("file.encoding");
    
	/**
	 * 堷悢側偟偺僐儞僗僩儔僋僞
	 */
	public FileSerializer(){
		
	}
	
	/**
	 * 僼傽僀儖傪巜掕偟偰僔儕傾儔僀僓傪惗惉偟傑偡丅
	 */
	public FileSerializer(File file){
		setFile(file);
	}
	
	/**
	 * 僼傽僀儖傪巜掕偟偰僔儕傾儔僀僓傪惗惉偟傑偡丅
	 */
	public FileSerializer(String file){
		setFile(new File(file));
	}
	
	/**
	 * 儘僌傪弌椡偡傞僼傽僀儖傪巜掕偟傑偡丅
	 */
	public void setFile(File file){
		this.file = file;
	}
	
    /**
     * 弌椡僄儞僐乕僪傪巜掕偟傑偡丅
     */
    public void setEncode(String encode){
        this.encode = encode;
    }
    
	/**
	 * 儘僌傪弌椡偟傑偡丅
	 */
	public void write(int level,Date date,int threadID,String log){
        
        String time = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss SSS").format(date);
        String line =  "[" + LogConstants.getLevelString(level) + "]" + 
                       "[" + time + "][ThreadID=" + threadID + "]" + log;
        
		try {
			BufferedWriter writer
                = new BufferedWriter(new OutputStreamWriter(
                  new FileOutputStream(file.getAbsolutePath(),true),encode));
			writer.write(line);
			writer.newLine();
			writer.flush();
			writer.close();
		} catch(IOException ioex){
			
		}
	}
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?