有关于Stream的问题

android_gg 发布于 2014/08/07 11:12
阅读 102
收藏 0
public static String readStreamToString(InputStream inStream,
String encoding) throws Exception {
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inStream.read(buffer)) != -1) {
outStream.write(buffer, 0, len);
}
inStream.close();
return new String(outStream.toByteArray(), encoding);

}

此方法是将InputStream 转成String并存起来,我唯一不理解的是buffer 的长度是1024,大小是1K,当InputStream 很大时,buffer 装不下怎么办?

加载中
0
东胜神洲
东胜神洲

你当

while ((len = inStream.read(buffer)) != -1) {

     outStream.write(buffer, 0, len);

}

这个循环语句是摆设?。。。本身就是应对 inStream 内容超过 1024 而建立的。


0
飞炀
飞炀
buffer可以理解成缓存,while循环中,每次从inStream里面读取最多buffer长度的流,按照读取的长度,写到 outStream里面去。
0
android_gg
android_gg
我已明白了,谢谢各位哈
返回顶部
顶部