fileserializer.java~2~

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

JAVA~2~
79
字号
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 + -
显示快捷键?