关于java的inputStream究竟一次会读多少byte?
答案:3 悬赏:60 手机版
解决时间 2021-03-31 18:07
- 提问者网友:半生酒醒
- 2021-03-31 14:56
关于java的inputStream究竟一次会读多少byte?
最佳答案
- 五星知识达人网友:执傲
- 2021-03-31 16:06
inputStream有多个read方法,带不同参数
如果直接read(),只读一个字节
如果read(byte[]),则看参数的数组有多长,就读多少,如果stream中的数据不够,那有多少读多少
如果read(byte[],offset,length),比较复杂一些,最多读取length个字节的数据,具体的可以看一下JDK的api文档
如果直接read(),只读一个字节
如果read(byte[]),则看参数的数组有多长,就读多少,如果stream中的数据不够,那有多少读多少
如果read(byte[],offset,length),比较复杂一些,最多读取length个字节的数据,具体的可以看一下JDK的api文档
全部回答
- 1楼网友:末日狂欢
- 2021-03-31 18:09
首先可以告诉你,不能读的超过1024个,超过了,后面的就读不到了!追问这个是java的规定么?也就是说我创建个1024的byte数组肯定够用?追答她只是一个缓冲区。一次缓冲不够,缓冲几次就好了!追问我想问的情况是,比如我现在用buff=new byte[100]去调用is.read(buff),那么这个read函数会检测我这个数组有多大,然后写入一个不超过这个数组上限的数据进去么?
还是说stream里面有超量的数据,直接就全写进去了,多出来的部分就丢失了?比如在网络传输接收数据的时候
还是说stream里面有超量的数据,直接就全写进去了,多出来的部分就丢失了?比如在网络传输接收数据的时候
- 2楼网友:白昼之月
- 2021-03-31 16:43
你根据你的程序来定义缓冲区的大小,比如一般局域网聊天软件,缓存定义个3*1024就够用了。 如果内容超过了缓存大小,那肯定会造成数据丢失的。追问原来如此唉。。那我还是定大点……
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯