代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Js
】
代码实现文件打包
作者:
Alex
/ 发布于
2017/1/18
/
801
代码实现文件打包
package test; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; public class Zip { /** * 压缩文件夹 * @param zipPath 生成的zip文件路径 * @param filePath 需要压缩的文件夹路径 * @throws Exception */ public void zipFolder(String zipPath, String filePath) throws Exception { ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipPath)); File f = new File(filePath); zipFiles(out, f, ""); out.close(); } /** * 压缩单一个文件 * @param zipPath 生成的zip文件路径 * @param filePath 需要压缩的文件路径 * @throws Exception */ public void zipFile(String zipPath, String filePath) throws Exception { File f = new File(filePath); FileInputStream fis = new FileInputStream(f); BufferedInputStream bis = new BufferedInputStream(fis); byte[] buf = new byte[1024]; int len; FileOutputStream fos = new FileOutputStream(zipPath); BufferedOutputStream bos = new BufferedOutputStream(fos); ZipOutputStream zos = new ZipOutputStream(bos);//压缩包 ZipEntry ze = new ZipEntry(f.getName());//这是压缩包名里的文件名 zos.putNextEntry(ze);// 写入新的ZIP文件条目并将流定位到条目数据的开始处 while ((len = bis.read(buf)) != -1) { zos.write(buf, 0, len); zos.flush(); } bis.close(); zos.close(); } /** * 递归调用,压缩文件夹和子文件夹的所有文件 * @param out * @param f * @param base * @throws Exception */ private void zipFiles(ZipOutputStream out, File f, String base) throws Exception { if (f.isDirectory()) { File[] fl = f.listFiles(); out.putNextEntry(new ZipEntry(base + "/")); base = base.length() == 0 ? "" : base + "/"; for (int i = 0; i < fl.length; i++) { zipFiles(out, fl[i], base + fl[i].getName());//递归压缩子文件夹 } } else { out.putNextEntry(new ZipEntry(base)); FileInputStream in = new FileInputStream(f); int b; //System.out.println(base); while ((b = in.read()) != -1) { out.write(b); } in.close(); } } /** * @param args */ public static void main(String[] args) { System.out.println("Zip File Begin"); Zip zip = new Zip(); String zipPath = "D:\\test.zip"; String filePath = "D:\\test.txt"; try { zip.zipFile(zipPath, filePath);//压缩文件 //zip.zipFolder(zipPath, filePath);//压缩文件夹 } catch (Exception ex) { ex.printStackTrace(); } System.out.println("Zip File Done"); } }
试试其它关键字
同语言下
.
Jquery搜索框获取回车事件
.
H5页面添加倒计时,然后自动跳转
.
通过user-agent判断h5页面是在哪个手机App(QQ、微信
.
nginx 禁止未绑定的域名访问
.
JavaScript 获取按键,并屏蔽系统 Window 事件
.
H5之只允许微信浏览器打开,禁止从外部浏览器访问
.
微信打开网址添加在浏览器中打开提示的办法
.
实现JS复制、粘贴,Chrome/Firefox下可用
.
video视频播放,play()、pause()、duration时长、onen
.
HTML5实现MP3上传前的预览和播放时长的获取
可能有用的
.
Jquery搜索框获取回车事件
.
H5页面添加倒计时,然后自动跳转
.
通过user-agent判断h5页面是在哪个手机App(QQ、微信
.
nginx 禁止未绑定的域名访问
.
JavaScript 获取按键,并屏蔽系统 Window 事件
.
H5之只允许微信浏览器打开,禁止从外部浏览器访问
.
微信打开网址添加在浏览器中打开提示的办法
.
实现JS复制、粘贴,Chrome/Firefox下可用
.
video视频播放,play()、pause()、duration时长、onen
.
HTML5实现MP3上传前的预览和播放时长的获取
Alex
贡献的其它代码
(
27
)
.
字典 Dictionary 遍历
.
读取http文件保存到本地
.
代码实现文件打包
.
用户登录过滤例子
.
HashMap中的内容进行迭代输出
.
根据银行卡账号获取所属银行
.
将HtmlTable内容导出到Excel,使用NPOI组件
.
判断页面滚动条是否到底部
.
把函数绑定到事件上
.
根据计算机硬件码生成注册码
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3