首页>代码>java压缩和解压指定文件夹下的文件实例>/com.zip/src/main/java/com/chen/util/Main.java
package com.chen.util;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
 * 运行
 * 
 * @author chenguoji
 *
 */
public class Main {

	/**
	 * 程序实现了ZIP压缩。共分为2部分 : 压缩(compression)与解压(decompression)
	 * <p>
	 * 大致功能包括用了多态,递归等JAVA核心技术,可以对单个文件和任意级联文件夹进行压缩和解压。 需在代码中自定义源输入路径和目标输出路径。
	 * <p>
	 * 在本段代码中,实现的是压缩部分;解压部分见本包中Decompression部分。
	 * 
	 * @author HAN
	 * 
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*// 压缩文件夹所有文件和下级目录下的文件 
		CompressionZip.zip("E:\\ZipTestCompressing.zip", new File("E:\\export"));
		// 解压
		DecompressionZip.zip("E:\\ZipTestCompressing.zip", "E:\\export");
		*/
		//压缩单个文件
//		File file = new File("E:\\chen\\a\\a1.jpg");
//		CompressionZip.zipFile(file, "E:\\zip\\dan.zip");
		
		//获取文件夹下所有文件
		List<File> files = new ArrayList<File>();
		getFile("E:\\chen",files);
		for (File file : files) {
			System.out.println("----文件名称----"+file.getName());
		}
		//压缩指定文件
		CompressionZip.zipFile("E:\\zip\\dan.zip", files);
	}

	/**
	 * 获取所有文件夹下的所有文件和下级目录下的文件 
	 * @param path
	 * @param files 
	 * @return
	 */
	public static List<File> getFile(String path, List<File> files) {
		File file = new File(path);
		File[] tempList = file.listFiles();
		System.out.println("该目录下对象个数:" + tempList.length);
		for (int i = 0; i < tempList.length; i++) {
			if (tempList[i].isFile()) {
				System.out.println("文     件:" + tempList[i]);
				files.add(tempList[i]);
			}
			if (tempList[i].isDirectory()) {
//				System.out.println("文件夹:" + tempList[i]);
				getFile(tempList[i].toString(),files);
			}
		}
		return  files;
	}
}
最近下载更多
zzzyyy1  LV2 2月26日
cindyd  LV1 2021年11月1日
dybtom  LV10 2019年6月28日
武静123  LV1 2019年5月28日
18170035580  LV14 2018年11月3日
FunnyKing  LV19 2017年8月7日
最代码官方  LV168 2017年8月4日
最近浏览更多
Linzybb 11月20日
暂无贡献等级
zzzyyy1  LV2 2月26日
一只小扒菜啊 2023年10月30日
暂无贡献等级
EFWAGGFAWGR 2023年10月19日
暂无贡献等级
zhangjilu  LV18 2023年2月18日
沙漏哦  LV9 2022年9月14日
yymmdm  LV6 2022年8月10日
whfuai  LV14 2022年7月27日
wanglinddad  LV55 2022年4月22日
李海洋  LV12 2021年12月1日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友