代码如下.功能需求:文件下载不完整,就提示或跳转到提示页面. 高手快乐吧!
                  String downLoadFile = request.getParameter("downLoadFile");
String downLoadFileName = request.getParameter("downLoadFileName");
String downLoadFileType = request.getParameter("downLoadFileType");
String downLoadFileMD5 = request.getParameter("downLoadFileMD5");
if(Constants.REPORT_EXCELMODE.equals(downLoadFileType))
response.setContentType("application/vnd.ms-excel");
else if(Constants.REPORT_PDFMODE.equals(downLoadFileType))
response.setContentType("application/pdf");
else if(Constants.REPORT_TXTMODE.equals(downLoadFileType))
response.setContentType("application/txt");
else if(Constants.REPORT_CSVMODE.equals(downLoadFileType))
response.setContentType("application/octet-stream");
else if(Constants.FILE_TYPE_ZIP.equals(downLoadFileType))
response.setContentType("application/octet-stream");

response.setHeader("Content-Disposition", "attachment; filename=\""
        + downLoadFileName + "\"");
FileInputStream fileInputStream = new FileInputStream(downLoadFile);
BufferedOutputStream bufferedOutputStream = new BufferedOutputStrea(
response.getOutputStream());

byte[] buffer = new byte[1024*1024*100];
int bytesRead = 0;
while((bytesRead=fileInputStream.read(buffer,0,1024*1024))!=-1){
byte[] b=new byte[bytesRead];
System.arraycopy(buffer, 0, b, 0, bytesRead);
bufferedOutputStream.write(b);
MD5.messageDigest.update(b);
}
bufferedOutputStream.flush();
fileInputStream.close();
bufferedOutputStream.close();
response.flushBuffer();
out.clear();
out = pageContext.pushBody();
String nowMd5=MD5.bufferToHex(MD5.messageDigest.digest());//下载后的MD5
System.out.println("NOW_MD5"+nowMd5);
System.out.println("OLD_MD5"+downLoadFileMD5);
                  //跳转不行
                   request.getRequestDispatcher("/login.jsp").forward(request,response);