为了账号安全,请及时绑定邮箱和手机立即绑定

java的读取流问题,请教

java的读取流问题,请教

SMILET 2019-02-26 21:10:20
下面是一段可以正常执行的代码,里面有个问题我不太明白,见里面的注释 /** * 从输入流中获取字节数组 * @param inputStream * @return * @throws IOException */ private static byte[] _readInputStream(InputStream inputStream) throws IOException { byte[] buffer = new byte[1024]; int len = 0; ByteArrayOutputStream bos = new ByteArrayOutputStream(); while((len = inputStream.read(buffer)) != -1) { //!问题就在这里,这个是每次读取1024字节吗?那如果被读取的流最后根本就没有1024字节,那这里不是读取失败了吗?那岂不是读取的文件都会缺少一部分? bos.write(buffer, 0, len); } bos.close(); return bos.toByteArray(); }
查看完整描述

4 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

碰到结束符,就读取结束了,这个时候len 不等于1024

查看完整回答
反对 回复 2019-03-01
?
米脂

TA贡献1836条经验 获得超3个赞

假如最后没有1024,那么len就等于剩余的。

查看完整回答
反对 回复 2019-03-01
?
浮云间

TA贡献1829条经验 获得超4个赞

读完了就返回-1

查看完整回答
反对 回复 2019-03-01
  • 4 回答
  • 0 关注
  • 410 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信