JAVA中out.println 和err.println兩個(gè)方法有什么區(qū)別?

同時(shí)使用了System.out.println與System.err.println()打印輸入內(nèi)容,結(jié)果看到的 內(nèi)容和預(yù)想的不一樣仑性,順序與預(yù)料的不同并不是因?yàn)閑rr和out的區(qū)別導(dǎo)致,而是因?yàn)樗麄兪莾蓚€(gè)流右蹦,由于緩存原因?qū)е螺敵鲰樞虿煌?br>

1诊杆、System.out.println能重定向到別的輸出流歼捐,這樣的話(huà)你在屏幕上將看不到打印的東西了,

而System.err.println只能在屏幕上實(shí)現(xiàn)打印晨汹,即使你重定向了也一樣豹储。

System.setOut(newPrintStream(newFileOutputStream(newFile( "c:/test.txt "))));

System.out.println( "haha ");

2、

當(dāng)向控制臺(tái)輸出信息時(shí)淘这,開(kāi)發(fā)者有兩個(gè)選擇:System.out和System.err剥扣。使用者更傾向于輸出的是System.out,而如果是 System.err則輸出“error”铝穷。盡管這看起來(lái)是顯而易見(jiàn)的钠怯,但很多開(kāi)發(fā)者都不了解為什么出錯(cuò)和調(diào)試時(shí)使用System.err。(如果 你使用err打印出的 字符串曙聂,在eclipse的console會(huì)顯示成紅色的哦晦炊。)當(dāng)輸出一個(gè)流時(shí),JVM和操作系統(tǒng)共同決定何時(shí)輸出這個(gè)流宁脊。也就是說(shuō)刽锤,盡管開(kāi)發(fā)者鍵入了:

System.out.print_

("TestOutput:");

JVM和操作系統(tǒng)的組合體并不會(huì)立即輸出這個(gè)流。相反朦佩,它將保持等待狀態(tài)直到將要輸出的東西達(dá)到一定的量。

假設(shè)輸入以下指令:

System.out.println("DebuggingInfo.");

JVM可能同意輸出庐氮;然而语稠,操作系統(tǒng)可能決定暫不輸出。

由于這個(gè)原因弄砍,在調(diào)試程序時(shí)想要發(fā)現(xiàn)出錯(cuò)的位置就有可能成為問(wèn)題仙畦。考慮以下的程序:

for(inti=0;i<56;i++){

System.out.println(i);

...//containinganerror

}

錯(cuò)誤可能出現(xiàn)在i等于54時(shí)音婶,但是可能JVM在i等于49時(shí)就結(jié)束輸出了慨畸。50到54仍然存在于緩存中,結(jié)果也就丟失了衣式。

使用System.err來(lái)報(bào)告錯(cuò)誤寸士、調(diào)試程序就可以避免這種情況出現(xiàn),它將使每一次操作的結(jié)果都輸出出來(lái)碴卧。例如以下程序:

for(inti=0;i<56;i++){

System.err.println(i);

...//containinganerror

}

在每一次i等于54時(shí)都將顯示錯(cuò)誤信息弱卡。

3、System.out.println可能會(huì)被緩沖,而System.err.println不會(huì)

4住册、System.err和System.out就是錯(cuò)誤輸出和標(biāo)準(zhǔn)輸出

如果你用LOG4J記錄日志的話(huà),且設(shè)定錯(cuò)誤等級(jí)的話(huà)

System.err的輸出是將記錄到日志中

5婶博、輸出設(shè)備是一樣的所以你看到的是一樣的

System.setErr()System.setOut()是重定向兩個(gè)流的方法。

以下為SunJDK1.5中文文檔中的可能有點(diǎn)泛泛了

------------------------------

System.err

“標(biāo)準(zhǔn)”錯(cuò)誤輸出流荧飞。此流已打開(kāi)并準(zhǔn)備接受輸出數(shù)據(jù)凡人。

通常名党,此流對(duì)應(yīng)于顯示器輸出或者由主機(jī)環(huán)境或用戶(hù)指定的另一個(gè)輸出目標(biāo)。按照慣例挠轴,此輸出流用于顯示錯(cuò)誤消息传睹,或者顯示那些即使用戶(hù)輸出流(變量out的值)已經(jīng)重定向到通常不被連續(xù)監(jiān)視的某一文件或其他目標(biāo),也應(yīng)該立刻引起用戶(hù)注意的其他信息忠荞。

System.out

“標(biāo)準(zhǔn)”輸出流蒋歌。此流已打開(kāi)并準(zhǔn)備接受輸出數(shù)據(jù)。通常委煤,此流對(duì)應(yīng)于顯示器輸出或者由主機(jī)環(huán)境或用戶(hù)指定的另一個(gè)輸出目標(biāo)堂油。

6、System.err.println()是要緩沖的,所以?xún)?yōu)先級(jí)會(huì)高點(diǎn),而System.out.println()是不需要緩沖的,所以?xún)?yōu)先級(jí)會(huì)低點(diǎn).

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末碧绞,一起剝皮案震驚了整個(gè)濱河市府框,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌讥邻,老刑警劉巖迫靖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異兴使,居然都是意外死亡系宜,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)发魄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)盹牧,“玉大人,你說(shuō)我怎么就攤上這事励幼√ⅲ” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵苹粟,是天一觀(guān)的道長(zhǎng)有滑。 經(jīng)常有香客問(wèn)我,道長(zhǎng)嵌削,這世上最難降的妖魔是什么毛好? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮掷贾,結(jié)果婚禮上睛榄,老公的妹妹穿的比我還像新娘。我一直安慰自己想帅,他們只是感情好场靴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般旨剥。 火紅的嫁衣襯著肌膚如雪咧欣。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,590評(píng)論 1 305
  • 那天轨帜,我揣著相機(jī)與錄音魄咕,去河邊找鬼。 笑死蚌父,一個(gè)胖子當(dāng)著我的面吹牛哮兰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播苟弛,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼喝滞,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了膏秫?” 一聲冷哼從身側(cè)響起右遭,我...
    開(kāi)封第一講書(shū)人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎缤削,沒(méi)想到半個(gè)月后窘哈,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡亭敢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年滚婉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片帅刀。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡满哪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出劝篷,到底是詐尸還是另有隱情,我是刑警寧澤民宿,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布娇妓,位于F島的核電站,受9級(jí)特大地震影響活鹰,放射性物質(zhì)發(fā)生泄漏哈恰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一志群、第九天 我趴在偏房一處隱蔽的房頂上張望着绷。 院中可真熱鬧,春花似錦锌云、人聲如沸荠医。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)彬向。三九已至兼贡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間娃胆,已是汗流浹背遍希。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留里烦,地道東北人凿蒜。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像胁黑,于是被迫代替她去往敵國(guó)和親废封。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法别厘,類(lèi)相關(guān)的語(yǔ)法虱饿,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法触趴,異常的語(yǔ)法氮发,線(xiàn)程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,633評(píng)論 18 399
  • //Clojure入門(mén)教程: Clojure – Functional Programming for the J...
    葡萄喃喃囈語(yǔ)閱讀 3,665評(píng)論 0 7
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)冗懦,斷路器爽冕,智...
    卡卡羅2017閱讀 134,657評(píng)論 18 139
  • 【程序1】 題目:古典問(wèn)題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子披蕉,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔...
    葉總韓閱讀 5,135評(píng)論 0 41
  • 出去讀書(shū)后颈畸,很多人都只能假期見(jiàn)一見(jiàn),“下來(lái)抽根煙唄没讲,等你眯娱。” 這聚少離多的時(shí)間里爬凑,好像每一回見(jiàn)面故友的改變都是如此...
    染墨I(xiàn)閱讀 137評(píng)論 0 1