title: How to force browser to download file?
body: <p>Everything works fine, but only if file is small, about 1MB, when I tried it with bigger files, like 20MB my browser display it, instead of force to download, I tried many headers so far, now my code looks:</p>
  
  <pre><code>PrintWriter out = response.getWriter();
  String fileName = request.getParameter("filename");
  
  File f= new File(fileName);
  
  InputStream in = new FileInputStream(f);
  BufferedInputStream bin = new BufferedInputStream(in);
  DataInputStream din = new DataInputStream(bin);
  
  while(din.available() &gt; 0){
      out.print(din.readLine());
      out.print("\n");
  }
  
  response.setContentType("application/force-download");
  response.setContentLength((int)f.length());
  response.setHeader("Content-Transfer-Encoding", "binary");
  response.setHeader("Content-Disposition","attachment; filename=\"" + "xxx\"");//fileName);
  
  
  in.close();
  bin.close();
  din.close();
  </code></pre>