- 相關(guān)推薦
Java重定向輸出流實(shí)現(xiàn)程序日志
System中的out,error都是final類型的,不能做改動(dòng)。但通過setOut()可以設(shè)置新的輸出流,從而實(shí)現(xiàn)寫日志的功能。
import java.io.PrintStream; import java.io.FileNotFoundException; public class RedirectOutputStream { public static void main(String arg[]){ try{ PrintStream out = System.out; //保留原輸出流 PrintStream ps = new PrintStream("./log.txt");//創(chuàng)建文件輸出流 System.setOut(ps); //設(shè)置使用新的輸出流 int age = 18; System.out.println("年齡變量成功定義,初始值為:18"); String sex = "女"; System.out.println("性別變量成功定義,初始值為:女"); String info = "這個(gè)是"+ sex +"孩子,應(yīng)該有"+age+"歲"; System.out.println("整合兩個(gè)變量為info字符串變量,其結(jié)果為"+info); System.setOut(out); //恢復(fù)原有輸出流 System.out.println("程序運(yùn)行完畢,請查看日志文件。"); } catch(FileNotFoundException e){ e.printStackTrace();} } }
日志如下:
年齡變量成功定義,初始值為:18
性別變量成功定義,初始值為:女
整合兩個(gè)變量為info字符串變量,其結(jié)果為這個(gè)是女孩子,應(yīng)該有18歲
總結(jié):
該方法中保存了System類的out成員變量為臨時(shí)變量,然后創(chuàng)建新的文件輸出流,并把這個(gè)輸出流設(shè)置為System類的新是輸出流。并將持續(xù)的調(diào)試信息輸出到日志中去。主要方法:
1. setOut()方法: 重新分配System類的標(biāo)準(zhǔn)輸出流。
2. setErr()方法: 重新分配System類的標(biāo)準(zhǔn)錯(cuò)誤輸出流。
3. setIn()方法: 重新分配System類的標(biāo)準(zhǔn)輸入流。
【Java重定向輸出流實(shí)現(xiàn)程序日志】相關(guān)文章:
Java實(shí)現(xiàn)字符串倒序輸出的常用方法01-18
Java的輸入輸出08-13
java格式化輸出的方法05-19
java集合數(shù)組的輸出辦法07-31
java程序編寫03-26
java程序的規(guī)范04-01
java程序規(guī)范03-27
構(gòu)建Java程序01-03
java輸入輸出語句整理總結(jié)04-18