隨筆 - 11  文章 - 33  trackbacks - 0
          <2008年11月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章檔案

          搜索

          •  

          最新隨筆

          最新評論

          閱讀排行榜

          評論排行榜

          今天在做測試的時候發現為了醒目用System.err打出來的信息和普通的System.out打出來的信息的順序出乎我的意料之外,納悶之下google之。發現兩者還是很有區別的。。。

          大多數操作系統都有三個標準文件描述符:標準輸入,標準輸出,標準出錯。

          三個操作系統的文件描述符映射到編程語言的標準庫中,往往加了一層包裝,但是名字通常還是叫標準輸入,標準輸出,標準出錯。

          在其它語言中的一般寫法是:stdin,stdout,stderr(有的語言里大寫,有的語言里小寫)。對應Java中的System.in,System.out,System.err。

          在語言層面的實現三個文件描述符都是可以重定向的(只要你想)。但是一般而言,如果你在unix shell或windows command line中使用管道或重定向,則只是針對標準輸入和輸出。

          另外,標準輸出和標準出錯的一個區別是,標準輸出往往是帶緩存的,而標準出錯沒有緩存(默認設置,可以改)。所以如果你用標準出錯打印出來的東西可以馬上顯示在屏幕,而標準輸出打印出來的東西可能要再積累幾個字符才能一起打印出來。如果你在應用中混用標準輸出和標準出錯就可能看到這個問題。

          總的來說,System.out用于正常的輸出,也就是程序真正想輸出的內容。而System.err用于出錯信息的輸出,也就是你本來不期待看到的東西。

          因此,System.err打出來的信息常常會跑到System.out信息的前面去。。。
          posted on 2007-09-12 10:40 teasp 閱讀(1369) 評論(4)  編輯  收藏 所屬分類: Java學習

          FeedBack:
          # re: System.err與System.out的區別 2007-09-17 17:55 匿名
          我也納悶呢  回復  更多評論
            
          # re: System.err與System.out的區別[未登錄] 2007-10-30 21:18 Sunny
          謝謝  回復  更多評論
            
          # re: System.err與System.out的區別 2008-10-13 20:42 key_hua
          謝謝  回復  更多評論
            
          # re: System.err與System.out的區別 2008-11-18 14:40 ZLCIsOnly
          謝了 很好  回復  更多評論
            
          主站蜘蛛池模板: 博客| 台州市| 安岳县| 扶沟县| 托里县| 出国| 绥滨县| 宁城县| 永清县| 于田县| 广灵县| 道孚县| 咸丰县| 盐城市| 闻喜县| 平罗县| 汉寿县| 鄂尔多斯市| 宁陵县| 文化| 乐清市| 外汇| 忻州市| 尤溪县| 随州市| 峨眉山市| 育儿| 三门县| 嵊州市| 金乡县| 望谟县| 盐池县| 岑溪市| 遂平县| 合肥市| 曲周县| 攀枝花市| 天全县| 兴化市| 尼勒克县| 铁岭市|