我还是比较新的插座,我还没有看到有关这个主题的任何信息。
要写入连接的套接字,您可以使用
socket.getOutputStream().write
或者从套接字DataOutputStream
创建一个新的OutputStream
并写入。
DataOutputStream
确保数据以独立于平台的方式进行格式化。这是一个很大的好处。它确保对方的一方能够阅读它。两者之间没有显着的性能差异。
只有在传输原始二进制数据时才应使用OutputStream
。
如果您需要额外的API,请使用DataOutputStream
。如果你不这样做,那就没有意义了。但是,如果你正在进行小写操作,你应该总是将套接字的输出流包装在BufferedOutputStream
中,在适当的时候,即在你读取套接字之前,你应该将flush()
包装起来。
刚才我在使用SOAP服务时开始了解dataoutputstream和outputstreamwriter之间的区别...我试图通过请求XML传递阿拉伯数据但是在响应XML中我得到一些垃圾字符代替阿拉伯数据然后我试过编码(UTF-8)请求,但没有这样的方法在DataOutputStream中进行编码,因为您可以在发送请求之前在OutputStreamWriter中对请求进行编码。 OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream(),“UTF-8”); out.write(inputXML);