如何在屏幕上來的System.out.println()方法打印字符時出是用於顯示的PrintStream&的PrintWriter
1
A
回答
0
System.out的是一種特殊的PrintStream,誰的輸出被顯示字節類型的打印流的在控制檯上。檢查here以獲取更多文檔。
3
我想這一段代碼(來自java.lang.System
)解釋它:
FileOutputStream fdOut = new FileOutputStream(FileDescriptor.out);
setOut0(new PrintStream(new BufferedOutputStream(fdOut, 128), true));
據創建FileOutputStream
到標準出來,然後把它包裝在PrintStream
。 FileDescriptor.out
是「標準輸出流的句柄」。
它使用平臺默認編碼將字節轉換爲字符。
11
PrintStream
在Java 1.0中引入並用於其他System.out
。後來他們意識到使用平臺默認編碼將字節轉換爲字符是一個主要的錯誤,所以稍後他們會引入PrintWriter
與Java 1.1,它能夠接受OutputStreamWriter
,其中您可以指定字符編碼。然而,要改變System.out
已經太晚了。
+0
+1爲歷史信息 – Bozho 2011-01-23 20:09:23
0
PrintStream
是一個字節流和PrintWriter
是字符流,但在一切都面向字節的最低水平,我什麼地方讀每個PrintStream
結合有OutputStreamWriter
,它通過這個寫入器以產生用於輸出字節通過了所有的字符。
相關問題
- 1. PrintWriter和PrintStream方法?
- 2. 是否有將PrintWriter轉換爲PrintStream的簡單而安全的方法?
- 3. servlet中的printWriter()
- 4. ZipOutputStream:BufferedOutputStream vs PrintStream
- 5. BufferedReader/PrintWriter的問題?
- 6. 的新PrintWriter(新的BufferedWriter(新的PrintWriter(s.getOutputStream,真)))
- 7. 「可變的PrintStream類型錯誤」出錯
- 8. PrintWriter和LinkedList
- 9. 問題PrintWriter?
- 10. PrintWriter - 無輸出?
- 11. Socket的PrintWriter的不發,直到關閉
- 12. 的Java PrintWriter的文件覆蓋
- 13. PrintWriter問題偶數
- 14. HttpServletResponse PrintWriter寫入InputStream
- 15. ByteArrayOutputStream到PrintWriter(Java Servlet)
- 16. PrintWriter默認位置
- 17. PrintWriter with for循環
- 18. System.setOut()等效於PrintWriter
- 19. PrintWriter的創建文件,但不寫
- 20. 什麼是PrintWriter out = servlet中的response.getWriter()
- 21. BufferedReader和PrintWriter的數據持久性?
- 22. 書寫使用的PrintWriter在Java中
- 23. 與我的記錄器printwriter問題
- 24. 在類中的對象上使用PrintWriter
- 25. PrintWriter類在一個單獨的方法
- 26. 的PrintWriter上打印下一行
- 27. 使用PrintStream附加到文本文件
- 28. 從System.out重構輸出到PrintStream
- 29. Java PrintStream重定向意外行爲
- 30. java - PrintWriter與FileWriter和BufferedWriter
這可能是最好的,如果你能詳細說明你的問題。我可以通過多種方式回答這個問題,但我不確定哪種方式是合適的。我也不想對我的答案不小心冒犯...... – 2011-01-23 20:02:01