首页 > 代码库 > Java文件下载
Java文件下载
1 public HttpServletResponse download(String path, HttpServletResponse response) { 2 try { 3 // path是指欲下载的文件的路径。 4 File file = new File(path); 5 // 取得文件名。 6 String filename = file.getName(); 7 // 取得文件的后缀名。 8 String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase(); 9 10 // 以流的形式下载文件。11 InputStream fis = new BufferedInputStream(new FileInputStream(path));12 byte[] buffer = new byte[fis.available()];13 fis.read(buffer);14 fis.close();15 // 清空response16 response.reset();17 // 设置response的Header18 response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));19 response.addHeader("Content-Length", "" + file.length());20 OutputStream toClient = new BufferedOutputStream(response.getOutputStream());21 response.setContentType("application/octet-stream");22 toClient.write(buffer);23 toClient.flush();24 toClient.close();25 } catch (IOException ex) {26 ex.printStackTrace();27 }28 return response;29 }30 31 public void downloadLocal(HttpServletResponse response) throws FileNotFoundException {32 // 下载本地文件33 String fileName = "Operator.doc".toString(); // 文件的默认保存名34 // 读到流中35 InputStream inStream = new FileInputStream("c:/Operator.doc");// 文件的存放路径36 // 设置输出的格式37 response.reset();38 response.setContentType("bin");39 response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");40 // 循环取出流中的数据41 byte[] b = new byte[100];42 int len;43 try {44 while ((len = inStream.read(b)) > 0)45 response.getOutputStream().write(b, 0, len);46 inStream.close();47 } catch (IOException e) {48 e.printStackTrace();49 }50 }51 52 public void downloadNet(HttpServletResponse response) throws MalformedURLException {53 // 下载网络文件54 int bytesum = 0;55 int byteread = 0;56 57 URL url = new URL("windine.blogdriver.com/logo.gif");58 59 try {60 URLConnection conn = url.openConnection();61 InputStream inStream = conn.getInputStream();62 FileOutputStream fs = new FileOutputStream("c:/abc.gif");63 64 byte[] buffer = new byte[1204];65 int length;66 while ((byteread = inStream.read(buffer)) != -1) {67 bytesum += byteread;68 System.out.println(bytesum);69 fs.write(buffer, 0, byteread);70 }71 } catch (FileNotFoundException e) {72 e.printStackTrace();73 } catch (IOException e) {74 e.printStackTrace();75 }76 }
Java文件下载
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。