servlet实现下载

public void doPost(HttpServletRequest request, HttpServletResponse response) throws Exception{  
File pathsavefile = new File(Download.class.getResource("/").getFile() + "../1.xls");  
/*保存窗口中显示的文件名 , 这是 将在浏览器输入  http://localhost:8080/你的项目名/你的那个servlet 的URL映射,将显示下载的文件名称。 同时它是作为输出流的目的源。  
String fileName="data.xls";  
//重新设置相应。  
response.reset(); 
  //设置内容文件的类型  一般有pdf , word execl 各有不同的设置。  
response.setContentType("APPLICATION/OCTET-STREAM");   
fileName=response.encodeURL(new String(fileName.getBytes(),"UTF-8"));//转码  
//以附件的形式提示用户下载, 就是你在浏览器打开那个servlet 时将弹出对话框提//示你下载还是保存。  
response.setHeader("Content-Disposition", "attachment; filename=\""+fileName+"\"");  
//得到响应的输出流  即向客户端输出信息的输出流。  
ServletOutputStream out = response.getOutputStream();  
InputStream inStream=new FileInputStream(pathsavefile);  
byte[] b = new byte[1024];  
int len;  
while((len=inStream.read(b)) >0)  
out.write(b,0,len);  
response.setStatus( response.SC_OK );  
response.flushBuffer();  
out.close();  
inStream.close();  
}   。

   如果你只是简单的写入到文件中的话可以用
FileUtils.writeLines(new File("d:/3.txt"), lists, null);
//FileUtils.writeStringToFile(new File("d:/2.txt"), new String(lists.get(i))) ;

用FileUtils这个工具类去实现,简单好用!

猜你喜欢

转载自simpletrc.iteye.com/blog/1573638
今日推荐