- 浏览: 76196 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
尹超5200:
你TM写点文字能死啊
java图片上传回显(火狐待测) -
shibin_1109:
如果冲突没更新下来的话也可以使用git同步来解决.
Eclips GIT冲突解决
打包下载
//定义下载保存的文件名称 StringBuffer zipName = new StringBuffer(11111.zip); //从前台接到一个图片id的数组 String[] images=request.getParameterValues(imgId); System.out.println("imgId============"+imgId); DisplayManager dm=new DisplayManager(); ZipOutputStream zos=null; ServletOutputStream sos=null; try{ response.reset(); response.setContentType("application/x-msdownload"); //通知客户文件的MIME类型: //String filename = "default.zip"; response.setHeader("Content-disposition","attachment;filename=" + zipName.toString()); sos = response.getOutputStream(); zos = new ZipOutputStream(sos); ZipEntry ze = null; byte[] buf = new byte[2048]; //输出文件用的字节数组,每次发送2048个字节到输出流: int readLength = 0; int z=0; String path=request.getSession().getServletContext().getRealPath("img"); //压缩文件并下载压缩包 Config con=Config.getInstance(); System.out.println("images.length=========="+images.length); for(int i=0;i<images.length;i++){ //根据id查出该对象 Display display=dm.selectOne(Long.parseLong(images[i])); String imgPath;//给图片路径赋值 if(Integer.parseInt(display.getType())==1305){ imgPath="/usr/share/tomcat/webapps/yipai/upload_jinghua/original/"+display.getImage(); }else{ imgPath="/usr/share/tomcat/webapps/yipai/upload_yipai/original/"+display.getImage(); } //String FilePath = images[i]; //list为存放路径的数组 循环可以得到路径和文件名 File f = new File(imgPath); if(!f.exists()) { continue; } ze = new ZipEntry(display.getImage()); ze.setSize(f.length()); ze.setTime(f.lastModified()); zos.putNextEntry(ze); InputStream is = new BufferedInputStream(new FileInputStream(f)); while ( (readLength = is.read(buf, 0, 2048)) != -1) { zos.write(buf, 0, readLength); } //out.clear(); //out = pageContext.pushBody(); is.close(); } }catch(Exception ex) { System.out.println("Error download1:"+ex.toString()); } finally { if(zos!=null){ try { zos.close(); }catch(Exception ex) { System.out.println("Error download2:"+ex.toString()); } } }
public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下载的文件的路径。 File file = new File(path); // 取得文件名。 String filename = file.getName(); // 取得文件的后缀名。 String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase(); // 以流的形式下载文件。 InputStream fis = new BufferedInputStream(new FileInputStream(path)); byte[] buffer = new byte[fis.available()]; fis.read(buffer); fis.close(); // 清空response response.reset(); // 设置response的Header response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes())); response.addHeader("Content-Length", "" + file.length()); OutputStream toClient = new BufferedOutputStream(response.getOutputStream()); response.setContentType("application/octet-stream"); toClient.write(buffer); toClient.flush(); toClient.close(); } catch (IOException ex) { ex.printStackTrace(); } return response; } public void downloadLocal(HttpServletResponse response) throws FileNotFoundException { // 下载本地文件 String fileName = "Operator.doc".toString(); // 文件的默认保存名 // 读到流中 InputStream inStream = new FileInputStream("c:/Operator.doc");// 文件的存放路径 // 设置输出的格式 response.reset(); response.setContentType("bin"); response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); // 循环取出流中的数据 byte[] b = new byte[100]; int len; try { while ((len = inStream.read(b)) > 0) response.getOutputStream().write(b, 0, len); inStream.close(); } catch (IOException e) { e.printStackTrace(); } } public void downloadNet(HttpServletResponse response) throws MalformedURLException { // 下载网络文件 int bytesum = 0; int byteread = 0; URL url = new URL("windine.blogdriver.com/logo.gif"); try { URLConnection conn = url.openConnection(); InputStream inStream = conn.getInputStream(); FileOutputStream fs = new FileOutputStream("c:/abc.gif"); byte[] buffer = new byte[1204]; int length; while ((byteread = inStream.read(buffer)) != -1) { bytesum += byteread; System.out.println(bytesum); fs.write(buffer, 0, byteread); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
public void downLoad(String filePath, HttpServletResponse response, boolean isOnLine) throws Exception { File f = new File(filePath); if (!f.exists()) { response.sendError(404, "File not found!"); return; } BufferedInputStream br = new BufferedInputStream(new FileInputStream(f)); byte[] buf = new byte[1024]; int len = 0; response.reset(); // 非常重要 if (isOnLine) { // 在线打开方式 URL u = new URL("file:///" + filePath); response.setContentType(u.openConnection().getContentType()); response.setHeader("Content-Disposition", "inline; filename=" + f.getName()); // 文件名应该编码成UTF-8 } else { // 纯下载方式 response.setContentType("application/x-msdownload"); response.setHeader("Content-Disposition", "attachment; filename=" + f.getName()); } OutputStream out = response.getOutputStream(); while ((len = br.read(buf)) > 0) out.write(buf, 0, len); br.close(); out.close(); }
发表评论
-
java注解详解
2014-09-22 10:12 644Java中提供了四种元注解,专门负责注解其他的注解,分别如下 ... -
log4j配置文件详解
2014-09-03 16:57 637在实际编程时,要使Log4 ... -
java获取请求用户的ip
2014-09-03 10:48 900/** * 获取请求用户的Ip * @par ... -
java常见的错误
2014-07-31 11:28 542原来见过的一些常见错 ... -
jsp中request详解
2014-07-28 15:10 631System.out.println("Protoc ... -
redis命令总结
2014-07-22 14:27 864public class Redis2 { priva ... -
深入理解JVM 内存模型
2014-07-21 10:54 644http://gotowqj.iteye.com/blog/2 ... -
java拷贝文件
2014-07-17 18:04 559package com.zuidaima.util.fil ... -
java对redis的操作
2014-07-17 17:59 505http://xuelianbobo.iteye.com/bl ... -
java中String Date Timestamp Calendar 之间的关系及转换
2014-07-17 17:34 564SimpleDateFormat sdf = new Simp ... -
java面试三大框架
2014-07-17 16:22 1182------------------------------- ... -
算法,java实现选择排序
2014-06-19 22:57 600一、基本思路: 选择排序和冒泡排序差不多,只是冒泡排序在发 ... -
算法,java实现冒泡排序
2014-06-19 22:54 663一、基本思路: 冒泡排序是一种简单的交换类排序。其基本思路是 ... -
java使用正则判断字符串
2014-06-16 11:19 348String str="http://www.jb5 ... -
struts2和springmvc比较
2014-06-12 00:14 562我们用struts2时采用的传统的配置文件的方式,并没有使用传 ... -
hibernate和mybatis的区别
2014-06-11 23:53 794以前没怎么用过mybatis,只知道与hibernate一样是 ... -
map的四种遍历方法
2014-06-11 23:20 579public static void main(String[ ... -
java模拟post方式提交表单实现图片上传
2014-04-18 15:57 3707package com.yanek.util; im ... -
java遍历文件夹
2014-04-18 15:25 581使用递归: import java.io.File; ... -
javahttp请求
2014-04-17 17:55 583package com.expai.utils; i ...
相关推荐
应用java来压缩需要打包的文件,在系统管理中将毛哥路径或者某个文件夹压缩成zip包
Java根据Url把多个文件下载到指定的文件夹目录,然后再将文件夹目录打包成zip导出,包括子目录也可以打包,有个简单的导出html页面,点击导出按钮下载zip。
java文件打包
用例子的详细的介绍了java中打包成可执行文件的过程,经过测试。
将一个java程序或项目打包成jar与exe文件 将一个java程序或项目打包成jar与exe文件 将一个java程序或项目打包成jar与exe文件
java中将多个excel打包成zip文件下载.rar
JAVA文件加密打包实例,不错的实例,共享之
含有90个面试题文件的打包下载 很全,大多数是纯文本形式的,整体7m多 不经典你举报我 不下载你后悔!!!
主要功能:文件上传、下载、预览、打包下载
主要为大家详细介绍了java后台批量下载文件并压缩成zip下载的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
用ajax实现的java文件打包下载。可以输入扩展名选择文件下载。
NULL 博文链接:https://tom-tomcat.iteye.com/blog/2218644
用java实现服务器上多个文件先打包,然后下载,下载完成后删除包!
48款JAVA手机游戏打包下载 ,供参考
java 实现指定目录下的文件打包zip格式 并指定存放zip包
自己整理的打包java程序的资料.包括到了setup.exe好多好多
java 打包 目录 文件 zip java 打包 目录 文件 zip java 打包 目录 文件 zip
使用exe4j,将java文件打包成可执行文件,过程详解
1、指定文件可下载并且服务器端会删除此文件。 2、指定文件夹(文件夹中必须有一个文件),程序会自动的压缩文件为 zip,然后下载删除源文件与压缩文件。 3、可以指定文件都为最后生成为zip文件下载,且删除源文件...
附件是几十个java游戏源代码打包,仅供学习使用。 1、纯java编写 2、主流小游戏