java—jsp中fileinputstream读取的额外字节

xoshrz7s  于 2021-07-09  发布在  Java
关注(0)|答案(0)|浏览(200)

我一直试图让一个下载链接工作,但正在从我的网页下载的文件填充了额外的字节。例如,如果我下载一个图像文件,文件大小将是524504字节,但是读取的字节将是524520字节。当我打开图像文件时,它也会被损坏。原始文件上没有多余的字节。我还尝试将下载的文件与原始文件进行比较,会有额外的lfs引导和跟踪实际数据。我使用的代码非常标准:

FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
BufferedOutputStream bos = new BufferedOutputStream(response.getOutputStream());
byte[] buffer = new byte[8192];
int iBytesRead;
int len = 0;

while ((iBytesRead = bis.read(buffer)) != -1) {
        len += iBytesRead;
        bos.write(buffer, 0, iBytesRead);
}

buffer = null;
bos.close();
bis.close();
fis.close();

有什么优雅的方法可以修剪填充或防止额外的字节被读/写吗(应用程序正在使用Java4,我无法升级,因为它只是一个更大系统的一部分)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题