使用groovy和java两种方式下载文件文件
2016-07-29 13:09
1466 查看
groovy方式
java方式
此为Grails项目中代码。
groovy方式应为使用其定义的<<方式,显得实现较为简单,但流的关闭不确定groovy是如何处理的
java方式就是我们比较熟悉了,有文件流的关闭,感觉比较条理清晰。
建议还是使用java这种方式来实现。
def downloadTemplate = { def appPath = servletContext.getRealPath("/").toString() def file = new File(appPath + "template/" + params.fileName) response.setHeader("Content-disposition", "attachment; filename=merTemplate.xls") response.contentType = "application/x-rarx-rar-compressed" response.setCharacterEncoding("utf-8") response.outputStream << file.newInputStream() }
java方式
def downloadTemplate = { try { def appPath = servletContext.getRealPath("/").toString() def file = new File(appPath + "template/" + params.fileName) if(file.length()>0){ response.setHeader("Content-disposition", "attachment; filename=merTemplate.xls") response.contentType = "application/x-rarx-rar-compressed" response.setCharacterEncoding("utf-8") def out = response.getOutputStream() InputStream is = new FileInputStream(file) byte[] buffer = new byte[1024] int i = -1 while ((i = is.read(buffer)) != -1){ out.write(buffer, 0, i) } out.flush() out.close() is.close() } }catch(Exception ex) { ex.printStackTrace() } }
此为Grails项目中代码。
groovy方式应为使用其定义的<<方式,显得实现较为简单,但流的关闭不确定groovy是如何处理的
java方式就是我们比较熟悉了,有文件流的关闭,感觉比较条理清晰。
建议还是使用java这种方式来实现。
相关文章推荐
- 使用python和java两种方式来完成下载网页,并保存成文件,
- java 读取文件——按照行取出(使用BufferedReader和一次将数据保存到内存两种实现方式)
- 使用WebView实现文件下载的两种方式
- java实现文件下载的两种方式
- java实现文件下载的两种方式
- Java使用文件流的方式下载文件
- Java 使用ftp的方式上传文件到linux,并实现删除,下载
- Java使用SFTP和FTP两种连接方式实现对服务器的上传下载
- java实现文件下载的两种方式
- java基于jxl.jar包生成Excel文件到指定目录和服务器下载两种模式的使用方法
- java实现文件下载的两种方式
- java实现文件下载的两种方式
- Java文件下载的几种方式
- Java文件下载的几种方式
- Java文件下载的几种方式
- Java文件下载的几种方式
- asp中使用流方式下载文件的代码[转]
- java下载文件的种方式
- 使用JAVA从SolarisFTP服务器下载多文件为压缩包
- Java文件下载的几种方式