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();
}
}