码迷,mamicode.com
首页 > 移动开发 > 详细

Android -- 小问题 InputStream的read方法读取字节不完全的问题

时间:2014-08-14 16:43:29      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:android   inputstream   read   字节   丢失   

关于InputStream.read(byte[] b)和InputStream.read(byte[] b,int off,int len)这两个方法都是用来从流里读取多个字节的,有经验的程序员就会发现,这两个方法经常 读取不到自己想要读取的个数的字节。比如第一个方法,程序员往往希望程序能读取到b.length个字节,而实际情况是,系统往往读取不了这么多。仔细阅读Java的API说明就发现了,这个方法 并不保证能读取这么多个字节,它只能保证最多读取这么多个字节(最少1个)。因此,如果要让程序读取count个字节,最好用以下代码:

Java代码  bubuko.com,布布扣
  1. int count = 100;  
  2. byte[] b = new byte[count];  
  3. int readCount = 0// 已经成功读取的字节的个数  
  4. while (readCount < count) {  
  5.     readCount += inStream.read(b, readCount, count - readCount);  
  6. }  

Android -- 小问题 InputStream的read方法读取字节不完全的问题,布布扣,bubuko.com

Android -- 小问题 InputStream的read方法读取字节不完全的问题

标签:android   inputstream   read   字节   丢失   

原文地址:http://blog.csdn.net/u012573920/article/details/38560437

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!