javaWeb的文件下载

public void doPost(HttpServletRequest request, 
HttpServletResponse response)throws ServletException, IOException 
{
//设置response的响应信息的类型
response.setContentType("application/x-msdownload; charset=GBK");

//设置response的响应头Content-disposition的值为p_w_upload;filename=?(下载后文件名称)

response.setHeader("Content-disposition","p_w_upload;filename=Apink.mp3");
byte[] buffered = new 
byte[1024];
//这里使用最好使用BufferedInputStream!得到下载文件的输入流!
BufferedInputStream  input = new BufferedInputStream(
   new FileInputStream(this.getServletContext().getRealPath("/p_w_picpathr")+"/1.jpg"));
//得到response的输出流!DataOutputStream 是数据流,比FileOutputStream 
高一个等级, 一般 先 使用FileOutputStream 封装, 
 DataOutputStream output = new DataOutputStream(response.getOutputStream());
 
//用while边read服务器的文件边输出到浏览器
while (input.read(buffered,0,buffered.length) != -1) 
{
    output.write(buffered,0,buffered.length);
}
    input.close();
    output.close();

}