它基本上用於將字符流轉換爲字節流。
字節流和字符流鏈接不兼容,因爲第一個字符流操作8位ASCII字符,而另一個字符流操作16位Unicode字符。爲了明確地鏈接它們,java.io包中存在兩個類,InputStreamReader
和OutputStreamWriter
。
InputStreamReader
鏈接一個字節流,字符流BufferedReader
(在閱讀方)。
鑑於OutputStreamWriter
,2字節的字符被編碼(轉換)爲1字節的字節(其他方式 - 字節到字符)。
對於一個Java程序與服務器端進程交互,它只需要能夠寫入一個URL,從而向服務器提供數據。它可以通過以下步驟做到這一點:
1.Create a URL.
2.Retrieve the URLConnection object.
3.Set output capability on the URLConnection.
4.Open a connection to the resource.
5.Get an output stream from the connection.
6.Write to the output stream.
7.Close the output stream.
在您提供的片段
現在,
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
創建連接上的輸出流,並在其上打開一個 OutputStreamWriter - 5步如果URL確實支持輸出,則 此方法返回輸出流,該輸出流連接到服務器端的URL輸入 流 - 客戶端的輸出是 服務器的輸入。如果URL不支持輸出, getOutputStream 方法拋出UnknownServiceException。
而且
wr.write(data);
wr.close();
wr.flush();
它寫入所需的資料到輸出流並關閉 流。寫入客戶端輸出流的數據是服務器端的輸入 。
什麼會被認爲是「在服務器端的輸入」在這裏? – user3134565