java 实现对指定目录的文件进行下载
Posted 小梅子呀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 实现对指定目录的文件进行下载相关的知识,希望对你有一定的参考价值。
@RequestMapping("/exportDocument") @ResponseBody public void exportDocument(HttpServletRequest request,HttpServletResponse response) throws IOException { XWPFDocument xdoc = null; FileInputStream is = null; OutputStream out=null; try { String wordName="数聚空港2.0使用手册.docx"; wordName = new String(wordName.getBytes(), "iso8859-1"); // File file = new File("/root/usersGuide.docx"); response.setContentType("APPLICATION/OCTET-STREAM"); response.setHeader("Content-Disposition", "attachment; filename=" + wordName); is = new FileInputStream("/root/usersGuide.docx"); out=response.getOutputStream();//获得一个output对象 xdoc = new XWPFDocument(is); } catch (IOException e) { e.printStackTrace(); }finally{ try { xdoc.write(out);//Write out this document to an Outputstream. is.close(); out.close(); } catch (IOException e) { e.printStackTrace(); } } /*上述是都word文档的下载*/
/*下面是对各种类型的文件下载*/ /*//2.获取要下载的文件名 String fileName = "test.png"; //3.设置content-disposition响应头控制浏览器以下载的形式打开文件 response.setHeader("content-disposition", "attachment;filename="+fileName); //4.获取要下载的文件输入流 InputStream in=null; OutputStream out=null; try {//获取要下载的文件的绝对路径 in=new FileInputStream("/root/运营线路图0.3.5版.png"); int len = 0; //5.创建数据缓冲区 byte[] buffer = new byte[1024]; //6.通过response对象获取OutputStream流 out = response.getOutputStream(); //7.将FileInputStream流写入到buffer缓冲区 while ((len = in.read(buffer)) > 0) {//in.read(byte[] b)最多读入b.length个字节 在碰到流的结尾时 返回-1 //8.使用OutputStream将缓冲区的数据输出到客户端浏览器 out.write(buffer,0,len); } } catch (FileNotFoundException e) { e.printStackTrace(); }finally{ in.close(); out.close(); }*/ }
以上是关于java 实现对指定目录的文件进行下载的主要内容,如果未能解决你的问题,请参考以下文章