Java压缩文件ZIP实例代码_java

提示:java.util.zipoutputstream

        java API压缩为zip文件

代码:

复制代码 代码如下:

package com.gaoqi.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
/**
* 压缩文件
* @author Administrator
*
*/
public class SimpleZip {

public static final int BUFFER_SIZE = 1024;

public static void main(String[] args) throws IOException {
String src = "d:\\chat";
String des = "d:\\chat01.zip";
ZipOutputStream zos = null;
try{
zos = new ZipOutputStream(new FileOutputStream(des));
File srcFile = new File(src);
String base = srcFile.getName();
fileZip(srcFile,zos,base);
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
if(zos!=null){
zos.close();
}
}
System.out.println("文件压缩成功啦" + src);
}

private static void fileZip(File srcFile, ZipOutputStream zos, String base)
throws Exception{
// TODO Auto-generated method stub
if(!srcFile.exists()){
System.out.println("文件不存在" + srcFile.getPath());
}
if(srcFile.isFile()){
zos.putNextEntry(new ZipEntry(base));
FileInputStream fis = new FileInputStream(srcFile);
byte[] buf = new byte[BUFFER_SIZE];
int n=0;
while((n=fis.read(buf, 0, buf.length))!=-1){
zos.write(buf, 0, n);
}
fis.close();
}else{
if(srcFile.isDirectory()) {
base = base + File.separator;
File[] subFiles = srcFile.listFiles();
for (File subFile : subFiles) {
fileZip(subFile, zos, base + subFile.getName());
}
}
}
}
}

时间: 2024-09-17 06:39:23

Java压缩文件ZIP实例代码_java的相关文章

Java Web用户登录实例代码_java

实现功能: 1.用户登陆.注销 2.利用session记录用户登陆信息 3.在JSP中展示已登陆用户信息 实现原理: 登陆后通过判断用户名和密码是否和存储的一致,如果一致,就把用户信息放到session中储存:如果不一致就提示信息,并且返回登陆页面. 显示信息页面上固定从session中找用户登陆信息,找到就显示用户信息,没找到就显示登陆框. 注销很简单,就是清空session信息. 主要文件: 1.LoginAction:struts2的Action类,用于处理JAVA端的主要登陆和登出逻辑.

Java 时间转换的实例代码_java

Java 时间转换的实例代码 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * Created by Edward on 2016/6/30. */ public class TimeUtil { /** * 将 1467341232351 转换为 指定格式 "yyyy-MM-dd HH:mm:ss.

JAVA实现异步调用实例代码_java

在JAVA平台,实现异步调用的角色有如下三个角色: 调用者 取货凭证   真实数据 一个调用者在调用耗时操作,不能立即返回数据时,先返回一个取货凭证.然后在过一断时间后凭取货凭证来获取真正的数据. 在调用一个方法的时候,程序会进入被调用方法体内,执行完这个被调用方法后,才返回执行下一条语句.怎么做到像ajax异步请求一样,发送请求后,没等请求响应就执行下一条语句呢?对于java的异步请求,找了许多教材都没有找到,如thinking in java.core java2 ......等等.受多线程

java多线程复制文件的实例代码_java

复制代码 代码如下:  package com.test; import java.io.FileNotFoundException;  import java.io.IOException;  import java.io.RandomAccessFile;  public class FileCoper {      private static final String _ORIGIN_FILE_MODE = "r";              private static fi

Java连接ftp服务器实例代码_java

废话不多说了,直接给大家贴java代码了. import java.io.IOException; import sun.net.TelnetInputStream; import sun.net.ftp.FtpClient; public class MyFtp { static FtpClient myFtp; static String hostname; static String username; static String password; /** * @author cutel

java DOM4J 读取XML实例代码_java

下面展示一篇我自己写的一个XML读取测试 复制代码 代码如下: import java.util.Iterator;import java.io.BufferedReader;import java.io.File;import java.io.IOException;import java.io.InputStreamReader;import java.net.MalformedURLException;import org.dom4j.*;import org.dom4j.io.SAXRe

java 字符串词频统计实例代码_java

复制代码 代码如下: package com.gpdi.action; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; public class WordsStatistics {     class Obj {         int count ;         Obj(int co

java数组输出的实例代码_java

输出一个数组中的元素,我们通常用for循环来做,比如: 复制代码 代码如下: package test; public class Test { public static void main(String args[]){int arr[]={1,2,3};System.out.print("[");for(int i=0; i<arr.length-1; i++)System.out.print(arr[i]+", ");System.out.printl

Java实现堆排序(Heapsort)实例代码_java

复制代码 代码如下: import java.util.Arrays; public class HeapSort {     public static void heapSort(DataWraper[] data){        System.out.println("开始排序");        int arrayLength=data.length;        //循环建堆        for(int i=0;i<arrayLength-1;i++){