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

现在是将文件保存到数据库中,数据库用的是oracle10g版本10.2,其中InputStream的read(byte[])方法的byte[]的长度不知如何设置,请教大虾... 现在是将文件保存到数据库中,数据库用的是oracle10g 版本10.2,其中InputStream的read(byte[])方法的byte[]的长度不知如何设置,请教大虾们

部门程序如下:
byte[] buffer = new byte[8];
int nread = 0;
while ((nread = byteIn.read(buffer)) != -1) {

blobOutputStream.write(buffer);
}

在这里,为了方便表示,我把数组的长度定义为8
如果读取的文件内容为"12345678",那么通过上面的程序保存到数据库中是正常的"12345678";
如果读取的文件内容为"1234567890",那么通过上面的程序保存到数据库中是"1234567890345678",是错误的,比正常的多了6位"345678";
请教:如何设置这个数组的长度,才能得到正确的结果?
展开
 我来答
老油条精选
推荐于2016-01-01 · TA获得超过147个赞
知道答主
回答量:108
采纳率:0%
帮助的人:84.8万
展开全部
那个长度应该只是缓冲区而已,应该不影响结果的。我做的时候一般都设置为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);
}
不一定是飞机
推荐于2018-03-02 · TA获得超过827个赞
知道小有建树答主
回答量:270
采纳率:100%
帮助的人:325万
展开全部
buffer 只是一个缓冲字节数组
blobOutputStream.write(buffer,0,nread );
第三个长度是每次读出字节的长度,缓冲数组设置大点 2048即可
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhang_junchen
2011-08-24 · TA获得超过3019个赞
知道小有建树答主
回答量:858
采纳率:0%
帮助的人:1090万
展开全部
你代码里面的nread这个变量记录了read()实际读取的数据量,所以blobOutputStream.write(buffer);
这一句是有问题的,不能直接write整个buffer,只能write nread这么多个字节
buffer的长度可以根据实际情况设置,就是看数据规模,一般设置成2的多少次方的大小
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户27603
2011-08-25 · TA获得超过264个赞
知道答主
回答量:521
采纳率:100%
帮助的人:320万
展开全部
谁说是尽量填满???
b只是当个缓冲区用。这个read方法返回实际读取的长度。
如果每次都一样,那就根本不用返回了。每次都一样长,那还叫流
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
南头有白头3
2011-08-24
知道答主
回答量:36
采纳率:0%
帮助的人:25万
展开全部
byte[] buffer = new byte[8];
int nread = 0;
while ((nread = byteIn.read(buffer)) != -1) {

blobOutputStream.write(buffer,0,nread);
}

nread不是记录了读到了多少字节吗?
追问
谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式