我一直试图让一个下载链接工作,但正在从我的网页下载的文件填充了额外的字节。例如,如果我下载一个图像文件,文件大小将是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,我无法升级,因为它只是一个更大系统的一部分)
暂无答案!
目前还没有任何答案,快来回答吧!