日期:2014-05-20  浏览次数:20632 次

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";
请教:如何设置这个数组的长度,才能得到正确的结果?



------解决方案--------------------
你的nread 用来作甚的。。。。

blobOutputStream.write(buffer, 0, nread);