永发信息网

java读取文件时,InputStream的read(byte[])方法的byte[]的长度不知如何设置,请教大虾们

答案:5  悬赏:10  手机版
解决时间 2021-03-24 11:37
java读取文件时,InputStream的read(byte[])方法的byte[]的长度不知如何设置,请教大虾们
最佳答案
buffer 只是一个缓冲字节数组
blobOutputStream.write(buffer,0,nread );
第三个长度是每次读出字节的长度,缓冲数组设置大点 2048即可
全部回答
你代码里面的nread这个变量记录了read()实际读取的数据量,所以blobOutputStream.write(buffer);
这一句是有问题的,不能直接write整个buffer,只能write nread这么多个字节
buffer的长度可以根据实际情况设置,就是看数据规模,一般设置成2的多少次方的大小
byte[] buffer = new byte[8];
int nread = 0;
while ((nread = byteIn.read(buffer)) != -1) {

blobOutputStream.write(buffer,0,nread);
}
nread不是记录了读到了多少字节吗?追问谢谢
谁说是尽量填满???
b只是当个缓冲区用。这个read方法返回实际读取的长度。
如果每次都一样,那就根本不用返回了。每次都一样长,那还叫流
那个长度应该只是缓冲区而已,应该不影响结果的。我做的时候一般都设置为1024,即1KB
这个是我部分的成功代码
inputStream = new BufferedInputStream(new FileInputStream(
downloadFile));
outputStream = new BufferedOutputStream(response
.getOutputStream());
byte[] buffer = new byte[1024];
int readIndex;
while (-1 != (readIndex = inputStream.read(buffer, 0,
buffer.length))) {
outputStream.write(buffer, 0, readIndex);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我老公在上班时被烧伤<由于长时间老化,液化气
广告英语单词怎么写
单选题对德国的制裁,《凡尔赛和约》没有解决
在本地局域网内可以设置公网IP吗?
爱店家的服务怎么样 ?
看图 猜成语 补充词语 舍本()末
郭一平是什么人物
胸部不小心被男生看到了怎么办
鞍山和海城到锦州走的是一条高速公路不
单选题下列城市中,冬季气温最高的是A.昆明B.
2000六月初六出生的男孩命运如何
柳永和苏轼的作品风格对比
<街头篮球>里,用金币买的技能怎么用???
梽木堂地址有知道的么?有点事想过去
巨人捕手杰克里面那个巨人有多高啊
推荐资讯
学术是什么意思,管理学的学术派系
l think the best played pi is role
单选题下列路线,正确反映了中央红军长征经过
z162火车车厢定员是多少人?
世界上什么刀最硬
我是做贷款的,可是我在南京。我问下网上怎么
在校园搞商业活动一般联系学校什么部门
------How do you usually deal with the pro
本清素·我家酸菜鱼(华漕店)这个地址在什么地
纠结要不要辞职啊?希望各位给点意见,现公司
树上带刺的是什么木瓜
单选题两圆的圆心都在x轴上,且两圆相交于A,
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?