InputStreamReader和OutputStreamWriter都是轉換流。InputStreamReader是將字節流轉換為字符流,OutputStreamWriter是字符轉字節流。那么BufferedWriter out =new BufferedWriter(new OutputStreamWriter(System.out))這句代碼該怎么解釋呢?BufferedWriter構造方法中是傳一個Writer類型的字符流,可OutputStreamWriter卻是將字符流轉換為字節流的一個轉換類型,怎么new OutputStreamWriter(System.out)就成了字符流了?還有就是System.out是PrintStream類型,而PrintStream有是OutputStream的子類,也就是說System.out本身就是字節流了,為甚么還要用new OutputStreamWriter將原本已是字節流的System.out轉換為字節流呢?
2 回答

摩訶迦葉
TA貢獻146條經驗 獲得超54個贊
OutputStreamWriter 是字符流的類,它的作用是將字符流轉換為字節流寫入文件中。 OutputStreamWriter是輸出流啊,new OutputStreamWriter(System.out)里面的參數不是他讀的東西,是他要轉換成的東西,將字符流轉換成System.out字節流。
添加回答
舉報
0/150
提交
取消