java.io.File newfile = new java.io.File(aFilePath);
long fl = newfile.length();
in = new FileInputStream(newfile);
ServletOutputStream Aut = response.getOutputStream();
byte[] buffer = new byte[1024];
int len;
String fileName = newfile.getName();
response.reset();
response.setContentType("application/octet-stream") ;
response.setHeader("Accept-Ranges", "bytes");
response.setHeader("Accept-Length", Long.toString(fl));
aFilePath = "attachment; filename="+fileName;
response.setHeader("Content-disposition", aFilePath) ;
response.setContentLength((int)fl); 

while((len = in.read(buffer)) > 0)
Aut.write(buffer,0,len);
in.close();