fileserializer.java~3~

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

JAVA~3~
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 Wang
 */
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 + -
显示快捷键?