PrintWriter和bufferedreader的作用是什么
PrintWriter包裝成打印流就我的理解是把字節流轉為字符流吧?可既然輸出的是字符流,為什么另一端接收時依然要用inputstream接收字節流然后還要創建個bufferedreader把字節流轉成字符流呢
PrintWriter包裝成打印流就我的理解是把字節流轉為字符流吧?可既然輸出的是字符流,為什么另一端接收時依然要用inputstream接收字節流然后還要創建個bufferedreader把字節流轉成字符流呢
2016-06-21
舉報
2016-06-21
1. 為什么要用PrinterWriter?
因為我們寫程序的時候,往Socket里寫數據,寫的都是文本,都是字符,所以PrinterWriter用于程序員寫入數據。因為PrinterWriter是包裝的OutputStream,底層實現數據傳輸的時候,會把我們寫入的字符轉換成二進制數據,就是字節流,所以傳輸的時候都是字節流傳輸。
2. 為什么要用InputStream接收?
上面講到了,底層傳輸的時候,都是字節流,所以要用InputStream讀取,還要用BufferedReader轉換成字符流,也是為了方便程序員讀取,可辨識。
如果只是單純的為了數據傳輸的話,完全不需要將字節流轉換成字節流。