0

我正在尝试将从输入流(从套接字)接收的数据(特别是图像)保存到字节数组中。我检查了两个选项:

一个。使用java.io.ByteArrayOutputStream,然后使用以下代码:

  InputStream in = socket.getInputStream();
  byte[] imageInBytes = in.toByteArray();

问题在于 eclipse 无法识别该方法toByteArray()。如何将InputStream(在这种情况下in)复制/更改为 aByteArrayOutputStream以使用该方法?

湾。使用org.apache.commons.io.IOUtils,然后使用以下命令:

    InputStream in = socket.getInputStream();
    byte[] imageInBytes = IOUtils.toByteArray(in);

我在 java 构建路径中添加了 commons-io-2.4.jar 并将其复制到 /libs 目录中,但它仍然没有按照它的假设进行,并且由于byte[] imageInBytes = IOUtils.toByteArray(in);.

顺便说一句,我正在使用姜饼。

对于这两种情况,我都想知道我是否做得对,以及如何解决上述问题。

4

1 回答 1

-1

尝试这个:

InputStream inputStream = socket.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
imageView.setImageBitmap(bitmap);

或者:

InputStream inputStream = socket.getInputStream();
Drawable drawable = Drawable.createFromStream(inputStream, null);
imageView.setImageDrawable(drawable);
于 2012-12-06T18:08:56.103 回答