Java中的「標準流」(System.out
,System.in
,System.err
)和「控制檯」(System.console()
)之間有什麼區別?「標準流」和「控制檯」有什麼區別?
-2
A
回答
2
每個進程(不只是Java程序)都有三個流:輸入,輸出和錯誤。在Java中,對這些的訪問已經簡化爲System.in,System.out和System.err。這些用於讀取或寫入命令行。例如,如果您曾經有一個命令行程序要求輸入,您輸入並按下回車鍵,那麼該輸入會轉換爲標準輸入。
有兩個輸出流(out和err),因爲它們報告不同的東西。例如,您可能想要保存錯誤輸出,但不關心程序打印的通用輸出。或者你可能想壓制標準輸出,所以只打印錯誤。或者你有一個程序有各種各樣的問題,你想壓制錯誤,所以你可以看到它試圖做什麼,而不是1000萬堆棧跟蹤。
因此,您的問題的簡短答案是標準流是寫入和讀取控制檯的方式。
+0
這並沒有真正回答這個問題。有'System.console()',它返回一個'Console'對象。 – Dukeling
0
總之,控制檯是可能捕獲流並在屏幕上顯示它們的東西。每個程序都可以訪問輸入/輸出流,但並不是每個程序都可以訪問控制檯。
某些程序因爲它們的流最初(或最終被重定向)而無法訪問控制檯。其他程序在配置中從未訪問控制檯的情況下啓動。在後一種情況下,寫入System.out
的所有內容都可能寫入/dev/null
。
雖然這適用於Java,但控制檯(以及流的「另一端」)實際上是操作系統概念。
相關問題
- 1. 從控制檯和jenkins運行maven目標有什麼區別
- 2. 授權和准入控制器有什麼區別?
- 3. 標準庫和標準模板庫有什麼區別?
- 4. 使用delayed_job和運行軌控制檯有什麼區別
- 5. Chrome控制檯和頁內JavaScript有什麼區別?
- 6. C#和Node.js控制檯輸出有什麼區別?
- 7. DTR/DSR和RTS/CTS流量控制有什麼區別?
- 8. 標籤欄控制器和標籤欄有什麼區別?
- 9. TCP中的流量控制和擁塞控制有什麼區別?
- 10. 繼電器控制器和微控制器有什麼區別?
- 11. GHC和Haskell平臺有什麼區別?
- 12. 平臺和框架有什麼區別?
- 13. Twitter流API和REST有什麼區別?
- 14. 流和文件有什麼區別?
- 15. 有什麼樣的標準控制檯/命令行編程的
- 16. HL7美國和英國的標準有什麼區別?
- 17. Facebook HTML和標準HTML5有什麼區別?
- 18. 標準角度和角度+ ngrx有什麼區別?
- 19. 標準MBean和動態MBean之間有什麼區別?
- 20. 反序列化和標準化有什麼區別?
- 21. advantage iOS Enterprise帳戶和標準帳戶有什麼區別?
- 22. 標準位置和重要位置更新有什麼區別?
- 23. Skript和控制檯之間的區別
- 24. IDE控制檯和終端的區別
- 25. PHP控制檯腳本和網絡腳本之間有什麼區別?
- 26. IBM MobileFirst Platform Application Center控制檯和MobileFirst Foundation V8.0有什麼區別
- 27. 標籤有什麼區別
- 28. Publish和WebPublish目標有什麼區別?
- 29. 目標和項目有什麼區別?
- 30. 光標和視圖有什麼區別?
請更具體。你的意思是'System.out'和'System.err'的工作原理嗎? – hellectronic
請詳細說明你的問題。 –
@normalocity你能回答這個問題嗎? – Rekha