當前位置:才華齋>計算機>java語言>

Java重定向輸出流實現程式日誌

java語言 閱讀(1.95W)

System中的out,error都是final型別的,不能做改動。但通過setOut()可以設定新的輸出流,從而實現寫日誌的功能。

Java重定向輸出流實現程式日誌

import tStream; import NotFoundException; public class RedirectOutputStream { public static void main(String arg[]){ try{ PrintStream out = ; //保留原輸出流 PrintStream ps = new PrintStream("./");//建立檔案輸出流 ut(ps); //設定使用新的`輸出流 int age = 18; tln("年齡變數成功定義,初始值為:18"); String sex = "女"; tln("性別變數成功定義,初始值為:女"); String info = "這個是"+ sex +"孩子,應該有"+age+"歲"; tln("整合兩個變數為info字串變數,其結果為"+info); ut(out); //恢復原有輸出流 tln("程式執行完畢,請檢視日誌檔案。"); } catch(FileNotFoundException e){ tStackTrace();} } }

日誌如下:

年齡變數成功定義,初始值為:18

性別變數成功定義,初始值為:女

整合兩個變數為info字串變數,其結果為這個是女孩子,應該有18歲

總結:

該方法中儲存了System類的out成員變數為臨時變數,然後建立新的檔案輸出流,並把這個輸出流設定為System類的新是輸出流。並將持續的除錯資訊輸出到日誌中去。主要方法:

1. setOut()方法: 重新分配System類的標準輸出流。

2. setErr()方法: 重新分配System類的標準錯誤輸出流。

3. setIn()方法: 重新分配System類的標準輸入流。