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

來源:文萃谷 1.87W

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類的標準輸入流。

熱門標籤