Servlet 下载文件简单程序

来源:互联网 发布:为什么离婚 知乎 编辑:程序博客网 时间:2024/06/05 15:20
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;


import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import com.sun.javafx.image.impl.ByteRgb;


public class download extends HttpServlet{
  
 public void doPost(HttpServletRequest request , HttpServletResponse response){
 
 //设置Content-Type 为application/zip 
 response.setContentType("application/zip");
 //指定文件名 用户保存文件默认文件名
 response.setHeader("Content-disposition", "attachment; filename=data.zip");
 //指定文件的位置
 String fileURL="http://localhost:8080/text/data.zip";
 try {
URL url=new URL(fileURL);
try {
BufferedInputStream bis=new BufferedInputStream(url.openStream());
BufferedOutputStream bos=new BufferedOutputStream(response.getOutputStream());
//从输入流中读出数据,并写入输出流
byte[] buff=new byte[2048];
int bytesRead;
while ((bytesRead=(bis.read(buff,0,buff.length)))!=-1){
bos.write(buff,0,bytesRead);
}


if(bis!=null){
bos.close();

}

if(bos!=null){
bos.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
 
 
 }
 
 public void doGet(HttpServletRequest request ,HttpServletResponse response ){
 
 doPost(request, response);
 
 }

}

运行结果如下:




原创粉丝点击