java中如何直接读取zip压缩包目录中的各个文件的名字
程序员文章站
2022-07-12 12:30:40
...
1.目的:
获取DZBD003220200824.zip压缩包里面的文件的名字们
2.目录结构:
E://003/SDZBD003220200824.zip/SDZBD003220200824/SDZBD/
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