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

关于InputStream里的read(byte[] b, int off, int len)

关于InputStream里的read(byte[] b, int off, int len)

自小生来神气壮 2016-07-10 08:43:43
InputStream fi = new FileInputStream(file1);    OutputStream fo = new FileOutStream(file2);     byte[] b = new byte[fi.available];while((int i = fi.read(b,0,b.length)) != -1) {    fo.write(b,0,i);}(1)请问这个read是一次就能把fi流里的东西全部读出来还是一部分一部分地读。如果是一部分一部分读,那读到末尾-1了结束循环最后读取那次带-1的部分是不是就读不进去了,或者说read内部会自动识别-1并将其作为最后一次读取(不考虑异常)。(2)上述的write方法从字节数组b的0位置上开始写入,当进入下一次循环指向0的指针就自动读到上次写入的末尾了。
查看完整描述

2 回答

?
lzb

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

是一部分一部分的读,当返回值为-1的时候表示已经读完了跳出循环。

查看完整回答
反对 回复 2016-07-10
  • 2 回答
  • 0 关注
  • 1729 浏览

添加回答

举报

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