String file="我.rar";
file=URLDecoder.decode(file,"UTF-8");
String fileName=file;
file= application.getRealPath("/")+File.separator+file;
fileName=java.net.URLEncoder.encode(fileName, "UTF-8").replace('+',' ');
response.reset();
response.setContentType("application/x-download");
response.setHeader("Content-Disposition", "attachment;filename=" +fileName);
BufferedOutputStream bos=null;
BufferedInputStream bis=null;
try{
bis = new BufferedInputStream(new java.io.FileInputStream(file));
bos = new BufferedOutputStream(response.getOutputStream());
byte[] buff = new byte[1024];
int bytesRead;
while(-1 != (bytesRead = bis.read(buff, 0, buff.length))){
bos.write(buff,0,bytesRead);
}
}catch(Exception ex){
}finally{
bis.close();
bos.close();
}
response.flushBuffer();
bis=null;
bos=null;