Java套接字写入byte []而不是String

时间:2014-06-05 13:05:16

标签: java android sockets tcp

我是套接字编程的新手,我一直在关注像http://www.myandroidsolutions.com/2012/07/20/android-tcp-connection-tutorial/这样的几个教程,并且能够使用socket在TCP上构建客户端 - 服务器架构。

问题是,这些教程是基本的,所以他们教你如何使用PrintWriterBufferedReader来发送,这似乎是在写String。我必须加密我的数据并将其发送为byte[],因此问题将是:

  1. 对于这个意思,我还可以使用PrintWriterBufferedReader吗?如果不是那么
  2. 我应该使用哪些课程以及如何使用?,我看过DataOutputStreamDataInputStream以及其他几个,但没有发现它们的区别或为什么要使用其中一种。
  3. PS:加密部分已经完成,所以不用担心,因为这不是问题:)

1 个答案:

答案 0 :(得分:7)

您应该使用OutputStream进行编写,并使用InputStream进行阅读。这些是二进制数据 - 后缀为WriterReader的任何内容都是 text 数据。

可能查找DataOutputStreamDataInputStream有用 - 它们基本上会添加一些包含在OutputStream内的服务。但是,如果您只需要将byte[]写入流中,那么普通OutputStream就可以了。