文档指出不应该使用available()
方法来确定InputStream
的大小。那我怎样才能将InputStream
的整个内容读入一个字节数组中呢?
InputStream in; //assuming already present
byte[] data = new byte[in.available()];
in.read(data);//now data is filled with the whole content of the InputStream
我可以多次将数据读入到一个固定大小的缓冲区中,但是这样我将不得不将所读取的数据组合成一个单一的字节数组,这对我来说是一个问题。