java怎么下载zip文件|java怎么下载压缩文件

A. java 批量下载.zip

/** * 报表查询模块 —-文件下载流 * @return * @throws IOException */ public InputStream getInputStream() throws IOException { InputStream ins = new FileInputStream(zipReports()); return ins; } /** * 根据传过来的报表编号压缩文件为zip * @param response * @param serverPath * @param str * @throws IOException */ public File zipReports() throws IOException{ List<StatisticalReport> srclist = new ArrayList<StatisticalReport>(); String[] pks = ids.split(","); if(pks.length > 0){ for(String pk : pks){ String[] str = pk.split("\\|"); StatisticalReport obj = new StatisticalReport(); obj.setCendat(str[0]); obj.setOrgidt(str[1]); obj.setRep_code(str[2]); obj.setCurcde(str[3]); srclist.add(obj); } } StatisticalReport obj = new StatisticalReport(); obj.setReportList(srclist); //查询要下载的报表文件 List<StatisticalReport> list = statisticalReportService.findReportList(obj); //获取应用在服务器上的根目录 String path = request.getSession().getServletContext().getRealPath(System.getProperty("file.separator")); List<File> srcList = new ArrayList<File>(); if(list.size() > 0){ for(StatisticalReport statisticalReport : list){ File file = new File(statisticalReport.getFile_path()); if(file.exists()){ srcList.add(file); } } } Pim_sysUser user = (Pim_sysUser) session.getAttribute(SysConstant.SESSION_USER_DATA); File zipfile = new File(path + System.getProperty("file.separator") + user.getLogid() + "REPORT.zip"); if(zipfile.exists()){ zipfile.delete(); zipfile.createNewFile(); } //FileTools.File(, res.getString("help_path"), newFormatFileName);// 上传文件 ZipUtils.zipFiles(srcList, zipfile); return zipfile; }import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.List;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;public class ZipUtils { /** * 将多个Excel打包成zip文件 * * @param srcfile * @param zipfile */ public static void zipFiles(List<File> srcfile, File zipfile) { byte[] buf = new byte[2048]; try { // Create the ZIP file // Compress the files if(srcfile.size() > 0){ // 创建ZipOutputStream类对象 ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipfile)); for (int i = 0; i < srcfile.size(); i++) { File file = srcfile.get(i); FileInputStream in = new FileInputStream(file); // Add ZIP entry to output stream. out.putNextEntry(new ZipEntry(file.getName()));// 写入此目录的Entry 创建新的进入点 // Transfer bytes from the file to the ZIP file int len; while ((len = in.read(buf)) > 0) { out.setLevel(9); out.write(buf, 0, len); } // Complete the entry out.closeEntry(); in.close(); } out.close(); }else{ ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipfile)); out.putNextEntry(new ZipEntry(" ")); out.closeEntry(); out.close(); } // Complete the ZIP file } catch (IOException e) { e.printStackTrace(); } }}

B. java中如何保证下载的压缩包命名中有中文

在使用Java对ZIP压缩文件进行解压的方式中有两种,一种是使用apache提供的ant.jar工具包,但是如果ZIP文件中含有中文名称的文件,在解压后,文件名将出现乱码,另一种是使用Java自身JDK中java.util.zip包下工具类,但是同样如果有中文名的情况下依然会出现乱码情况。因此对于这种乱码的处理,一种是修改JDK下的几个源文件,一种就是把需要用的JDK源文件重新反编译进行处理,单独放在一个包中,在使用的时候,调用自己处理过的包中文件进行处理即可。附件tools.rar压缩文件是我进行处理过后的需要调用到的java源程序,主要为Deflater.java,DeflaterOutputStream.java,InflaterInputStream.java,ZipConstants.java,ZipEntry.java,ZipInputStram.java,ZipOutputStream.java文件,同时包含一个解压缩文件CompressZipFile.java

C. Java机可以下载rar,zip文件吗

我想你不是要这么问吧。。 但我知道你怎么想的。。java机只能运行 JAR格式的文件(包括游戏、QQ、等) 任何手机都可以下载rar,zip文件。因为是存在内存卡里。 java机只能认出 JAR格式的文件

D. 急!给出一个URI,对应的是服务端的的一个zip包,客户端如何用java对它进行下载,

1:获取一个URL地址 2:解析URL,返回一个输入流3:客户端接收,将流中的内容保存//获取url并解析Url url = null;destUrl="http://127.0.0.1:8181/add_manage/js_home/890321.zip";//此处是http地址url = new URL(destUrl);httpUrl = (HttpURLConnection) url.openConnection();//连接指定的网络资源httpUrl.connect();//获取网络输入流bis = new BufferedInputStream(httpUrl.getInputStream());//保存资源fos = new FileOutputStream(fileName);if (this.DEBUG) System.out.println("正在获取链接[" + destUrl + "]的内容…\n将其保存为文件[" + fileName +"]");//保存文件while ( (size = bis.read(buf)) != -1)fos.write(buf, 0, size);//到此就可以实现下载的功能了!

E. java 下载异地FTP中的zip文件

好像需要一个支持jar包把,把ftp4j的下载地址贴出来

F. 急!!!想实现通过java方式压缩文件并提供下载功能,在线等!!!

给你一个代码吧。 /** * 文件夹压缩。输入路径不能与输出路径相同 * zip("c:\\webserver\\test.zip","c:\\test1"); * @param zipFileName * @param inputFile * @throws Exception */ public static void zipFold(String zipFileName,String inputFilePath)throws Exception{ zip(zipFileName,new File(inputFilePath)); } private static void zip(String zipFileName,File inputFile)throws Exception{ ZipOutputStream out=new ZipOutputStream(new FileOutputStream(zipFileName)); zipFold(out,inputFile,""); out.close(); } private static void zipFold(ZipOutputStream out,File f,String base)throws Exception{ if (f.isDirectory()) { File[] fl=f.listFiles(); base=base.length()==0?"":base+"/"; for (int i=0;i<fl.length ;i++ ) { zipFold(out,fl[i],base+fl[i].getName()); } } else { out.putNextEntry(new ZipEntry(base)); FileInputStream in=new FileInputStream(f); int b; while ((b=in.read()) != -1) out.write(b); in.close(); } }

G. java怎么实现zip下载

如果运行服务器用的是tomcat那么在系统的xml中增加zip类型,重启后,你点击就可以下载zip格式了。rar跟这个道理是一样的。如果不在配置文件中加类型,会在页面中打开这个zip或rar文件。

H. java 怎么下载压缩文件

服务器生成压缩文件,执行下载。

I. JAVA 点击下载按钮 下载ZIP文件

应该是乱码问题导致的,火狐的编码和IE对中文的编码是不一样的,两者兼顾很难啊。最好是在servlet里直接设置成英文名称,永久解决乱码问题

J. java怎么下载压缩文件

可以用java的输入,输出流,设置返回的类型为下转 response.setContentType("application/x-download");//设置为下载application/x-download String filedownload = "/要下载的文件专名";//即将下载的文件的相对路径属 String filedisplay = "最终要显示给用户的保存文件名";//下载文件时显示的文件保存名称 String filenamedisplay = URLEncoder.encode(filedisplay,"UTF-8"); response.addHeader("Content-Disposition","attachment;filename=" + filedisplay);


赞 (0)