tangguo

从ByteArrayInputStream获取内部字节数组

java

我想从ByteArrayInputStream获取内部字节数组。我不想扩展该类或将其写入另一个字节数组。有实用程序类可以帮助我做到这一点吗?

谢谢,


阅读 319

收藏
2020-11-20

共2个答案

小编典典

扩展ByteArrayInputStream,则可以访问这些protected字段。这是这样做的方式。提供了构造函数以从参数获取字节数组。

但是,您可能会发现装饰器模式更有帮助。

2020-11-20
小编典典

您无法访问相同的字节数组,但可以轻松复制流的内容:

public byte[] read(ByteArrayInputStream bais) {
     byte[] array = new byte[bais.available()];
     bais.read(array);

     return array;
}
2020-11-20