2012-12-17 234 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