Java中重定向輸出流實(shí)現(xiàn)用文件記錄程序日志
System中的out,error都是final類(lèi)型的,不能做改動(dòng)。但通過(guò)setOut()可以設(shè)置新的輸出流,從而實(shí)現(xiàn)寫(xiě)日志的功能。
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)行完畢,請(qǐng)查看日志文件。"); } catch(FileNotFoundException e){ e.printStackTrace();} } }
日志如下:
年齡變量成功定義,初始值為:18
性別變量成功定義,初始值為:女
整合兩個(gè)變量為info字符串變量,其結(jié)果為這個(gè)是女孩子,應(yīng)該有18歲
總結(jié):
該方法中保存了System類(lèi)的out成員變量為臨時(shí)變量,然后創(chuàng)建新的文件輸出流,并把這個(gè)輸出流設(shè)置為System類(lèi)的新是輸出流。并將持續(xù)的調(diào)試信息輸出到日志中去。主要方法:
1. setOut()方法: 重新分配System類(lèi)的標(biāo)準(zhǔn)輸出流。
2. setErr()方法: 重新分配System類(lèi)的標(biāo)準(zhǔn)錯(cuò)誤輸出流。
3. setIn()方法: 重新分配System類(lèi)的標(biāo)準(zhǔn)輸入流。
- JavaEE通過(guò)response實(shí)現(xiàn)請(qǐng)求重定向
- java 轉(zhuǎn)發(fā)和重定向區(qū)別及實(shí)例代碼
- java轉(zhuǎn)發(fā)和重定向的區(qū)別
- JAVA實(shí)現(xiàn)301永久重定向方法
- java用重定向方法從文件中讀入或?qū)懭霐?shù)據(jù)
- JavaWeb response完成重定向?qū)崿F(xiàn)過(guò)程詳解
- java使用httpclient發(fā)送post請(qǐng)求示例
- java發(fā)送get請(qǐng)求和post請(qǐng)求示例
- JAVA發(fā)送http get/post請(qǐng)求,調(diào)用http接口、方法詳解
- java網(wǎng)絡(luò)編程中向指定URL發(fā)送GET POST請(qǐng)求示例
- java實(shí)現(xiàn)響應(yīng)重定向發(fā)送post請(qǐng)求操作示例
相關(guān)文章
解決Python plt.savefig 保存圖片時(shí)一片空白的問(wèn)題
今天小編就為大家分享一篇解決Python plt.savefig 保存圖片時(shí)一片空白的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01利用Python批量壓縮png方法實(shí)例(支持過(guò)濾個(gè)別文件與文件夾)
這篇文章主要給大家介紹了關(guān)于利用Python批量壓縮png的相關(guān)資料,文中介紹的方法支持過(guò)濾個(gè)別文件與文件夾,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面跟著小編來(lái)一起看看吧。2017-07-07Python實(shí)現(xiàn)內(nèi)網(wǎng)穿透和端口轉(zhuǎn)發(fā)代理詳解
這篇文章主要為大家介紹了Python實(shí)現(xiàn)內(nèi)網(wǎng)穿透和端口轉(zhuǎn)發(fā)代理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12Python實(shí)現(xiàn)文本特征提取的方法詳解
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)提取四種不同文本特征的方法,有字典文本特征提取、英文文本特征提取、中文文本特征提取和TF-IDF 文本特征提取,感興趣的可以了解一下2022-08-08使用Python將數(shù)組的元素導(dǎo)出到變量中(unpacking)
最近工作中遇到一個(gè)問(wèn)題,需要利用Python將數(shù)組(list)或元組(tuple)中的元素導(dǎo)出到N個(gè)變量中,現(xiàn)在將我實(shí)現(xiàn)的方法分享給大家,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-10-10用python的seaborn畫(huà)數(shù)值箱型圖
大家好,本篇文章主要講的是用python的seaborn畫(huà)數(shù)值箱型圖,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01Python簡(jiǎn)單實(shí)現(xiàn)查找一個(gè)字符串中最長(zhǎng)不重復(fù)子串的方法
這篇文章主要介紹了Python簡(jiǎn)單實(shí)現(xiàn)查找一個(gè)字符串中最長(zhǎng)不重復(fù)子串的方法,涉及Python針對(duì)字符串的簡(jiǎn)單遍歷、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2018-03-03