Java:同时输出到控制台和指定文件

1、控制台内容输出到指定文件

try{
	//指向输出的日志文件
	PrintStream out_file = new PrintStream(new FileOutputStream("../log_file.log",true));
	//改变输出方向,将控制台打印输出到指定文件位置
	System.setOut(out);
	//设置日期
	Data nowTime = new Date();
	SimpleDateFormat time_format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
	System.out.println(time_format.format(nowTime));
}catch (FileNotFoundException e){
	e.printStackTrace();
}

2、同时输出到控制台和指定文件
参考网址:http://t.zoukankan.com/FlameRen-p-2948353.html

import java.io.IOException;
import java.io.OutputStream;
 
 public class MultiOutputStream extends OutputStream{
     
     OutputStream output1;
     OutputStream output2;
     
     public MultiOutputStream(OutputStream output1,OutputStream output2){
         this.output1 = output1;
         this.output2 = output2;
     }
     //重写方法,将创建两条输出流
     @Override
     public void write(int b) throws IOException {
         // TODO Auto-generated method stub
         output1.write(b);
         output2.write(b);
     }
 }
 //主程序写入下列内容
 public static void main() throws IOException{  
         PrintStream outFile = null;
         MultiOutputStream multi = null;
         try {
             outFile = new PrintStream (new FileOutputStream("../log_file.log",true));
             //设置同时输出到控制台和日志文件
             multi = new MultiOutputStream(outFile,System.out);
             System.setOut(new PrintStream(multi));
            	//设置日期
		Data nowTime = new Date();
		SimpleDateFormat time_format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
		System.out.println(time_format.format(nowTime));
}catch (FileNotFoundException e){
		e.printStackTrace();
}finally{
        multi.close();
        outFile.close();
         }
    } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值