Java sockets: DataOutputStream or OutputStream?

后端 未结 3 2138
慢半拍i
慢半拍i 2021-02-07 08:11

I\'m still relatively new to sockets, and I haven\'t seen any information regarding this subject.

To write to a connected socket, you can either use

sock         


        
相关标签:
3条回答
  • 2021-02-07 08:16

    Use DataOutputStream if you need the extra APIs. If you don't, there is no point. But you should always wrap the socket's output stream in a BufferedOutputStream if you are doing small writes, and flush() when appropriate, i.e. before you read the socket for example.

    0 讨论(0)
  • 2021-02-07 08:17

    Just now I came to know a difference between dataoutputstream and outputstreamwriter while working with a SOAP services... I tried to pass arabic data through request XML but in the response XML I'm getting some junk characters in place of arabic data then I tried to encode (UTF-8) the request but there is no such method to encode in DataOutputStream where as you can encode the request in OutputStreamWriter before sending the request. OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream(), "UTF-8"); out.write(inputXML);

    0 讨论(0)
  • 2021-02-07 08:26

    DataOutputStream makes sure the data is formatted in a platform independent way. This is the big benefit. It makes sure the party on the other side will be able to read it. There is no significant performance difference between both.

    You should use OutputStream only if you transfer raw binary data.

    0 讨论(0)
提交回复
热议问题