欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java中如何直接读取zip压缩包目录中的各个文件的名字

程序员文章站 2022-07-12 12:30:40
...

1.目的:

获取DZBD003220200824.zip压缩包里面的文件的名字们

2.目录结构:

E://003/SDZBD003220200824.zip/SDZBD003220200824/SDZBD/
java中如何直接读取zip压缩包目录中的各个文件的名字

3.代码:

注意引入的jar包路径是org.apache.tools.zip里面的

package com.sinosoft.lis.ybt.bl;

import java.io.IOException;
import java.util.Enumeration;

import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;

public class GetFileZIP {

	public static String printZipTxt(String zipPath) throws IOException {
		String mFileName = "";
		String mFileChange = "";
		ZipFile zipFile = new ZipFile(zipPath);
		for (Enumeration<? extends ZipEntry> e = zipFile.getEntries(); e.hasMoreElements();) {
			ZipEntry entry = e.nextElement();
			System.out.println("保单文件名:" + entry.getName() + ", 内容如下:");
			if (entry.getName().toLowerCase().endsWith(".pdf")) {
				mFileName = entry.getName();
				System.out.println(mFileName.substring(mFileName.lastIndexOf("/") + 1, mFileName.lastIndexOf(".")));
				mFileChange += mFileName.substring(mFileName.lastIndexOf("/") + 1, mFileName.lastIndexOf(".")) + "\n";
			}		
		}
		System.out.println("拼接后的文件名称为:" + mFileChange);
		return mFileChange;
	}

	public static void main(String[] args) {
		try {
			printZipTxt("E://003/SDZBD003220200824.zip");
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

}

4. 打印出的日志

保单文件名:SDZBD003220200824/, 内容如下:
保单文件名:SDZBD003220200824/SDZBD/9026000000777777.pdf, 内容如下:
9026000000777777
保单文件名:SDZBD003220200824/SDZBD/9026000000055555.pdf, 内容如下:
9026000000055555
保单文件名:SDZBD003220200824/SDZBD/9026000000020088.pdf, 内容如下:
9026000000020088
保单文件名:SDZBD003220200824/SDZBD/9026000000018488.pdf, 内容如下:
9026000000018488
保单文件名:SDZBD003220200824/SDZBD/9025000000002388.pdf, 内容如下:
9025000000002388
保单文件名:SDZBD003220200824/SDZBD/, 内容如下:
拼接后的文件名称为:9026000000777777
9026000000055555
9026000000020088
9026000000018488
9025000000002388