我有以下代码来下载文件列表。下载后,我将在线文件的md5与下载的文件进行比较。 当下载大小低于1024字节时,它们是相似的。对于全部1024字节,有一个不同的md5总和。缓冲输入流不正确加载文件
现在我不知道原因。我认为,这取决于1024字节的数组大小?也许它每次写入文件的全部1024字节,但问题是,为什么它能处理低于1KB的文件?
String fileUrl= url_str;
URL url = new URL(fileUrl);
BufferedInputStream bufferedInputStream = new BufferedInputStream(url.openStream());
FileOutputStream fileOutputStream =new FileOutputStream(target);
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream, 1024);
byte data[] = new byte[1024];
while(bufferedInputStream.read(data, 0, 1024) >0)
{
bufferedOutputStream.write(data);
}
bufferedOutputStream.close();
bufferedInputStream.close();
如果您使用的是Java SE 7,请考虑使用新的自动资源管理功能关闭您的流。 – Puce 2013-02-16 13:22:58