关于输入输出流的问题

关于输入输出流的问题

int len = 0;
byte[] b = new byte[1024];
while ((len = is.read(b))!=-1){
    os.write(b,0,len);
}

老师,能讲一下这一段吗,虽然说是固定的代码,但是弄懂了更容易记住

我大体能看懂在读取is输入流的信息,当参数是-1时候就读取完毕了,然后下面的os.write在将数据写入到指定的os路径

但是byte[] b = new byte[1024];
创建这个1024长度的数组是用来存放is的吗,是不是有什么大小限制?

os.write(b,0,len);这三个参数是什么意思了?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

你好同学,byte[] b = new byte[1024];这行代码就是创建一个能存储1024个字节的数组b,然后在while循环中每循环一次就在is流中读取1024个字节,os.write(b,0,len);这行代码中参数的意思是,b是存储字节的数组,0是起始位置,len是最终位置,祝学习愉快~

  • qq_a污骨_0 提问者 #1
    那byte[1024]为什么不大一点,可以少循环几次?
    2019-03-26 21:46:19
  • chrismorgen 回复 提问者 qq_a污骨_0 #2
    你好~这里的1024是byte的字节数量,那么1024个字节等于1kb,所以就将数组的长度设置为1024了,所以同学也可以设置大一点,循环多少次要根据你文本中的内容来决定,祝学习愉快~
    2019-03-27 09:57:30
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师