2012-12-17 241 views
1

這是我的客戶端代碼(J2ME):如何將OutputStream轉換爲字符串?

SocketConnection sc = (SocketConnection) Connector.open("socket://localhost:4444"); 
sc.openOutputStream().write("test".getBytes()); 
sc.close(); 

這是我的服務器代碼(J2SE):

ServerSocket serverSocket = new ServerSocket(4444); 
Socket clientSocket = serverSocket.accept(); 
OutputStream os = clientSocket.getOutputStream(); 

我怎麼會去有關創建的os字符串表示?

回答

5

InputStreamOutputStream用於字節序列。 ReaderWriter用於字符序列,如String s。

要打開一個OutputStreamWriter,做new OutputStreamWriter(outputStream),或更好,使用new OutputStreamWriter(outputStream, Charset)指定Charset,它描述字符和字節之間轉換的一種方式。

(另一個方向,InputStreamReader,是相似的。)

+0

我不知道我的理解。你的意思是我應該使用從clientSocket獲取的OutputStream創建一個OutputStreamWriter?如果是這樣,我該怎麼處理它?如何獲取輸出流的內容? – Lior

+0

您不會「獲取輸出流的內容」。你得到_input_流的內容。那是......爲什麼它被稱爲輸入。 (在這種情況下,你可能需要一個'InputStreamReader',而不是'OutputStreamWriter'。) –

+0

明白了,謝謝! – Lior