相关文章推荐
眉毛粗的西红柿  ·  你可以跟 ChatGPT ...·  5 月前    · 
乐观的熊猫  ·  c# - Handling the ...·  1 年前    · 
开朗的风衣  ·  IMAPITableSeekRow | ...·  1 年前    · 

1.读取zip中文件名,返回文件名列表

//读取zip文件内的文件,返回文件名称列表

public static List readZipFileName(String path){

List list = new ArrayList<>();

try {

ZipFile zipFile = new ZipFile(path);

Enumeration extends ZipEntry> entries = zipFile.entries();

while (entries.hasMoreElements()) {

list.add(entries.nextElement().getName());

} catch (IOException e) {

e.printStackTrace();

return list;

2.读取zip中文件的内容

//读取zip文件内的文件,返回文件内容列表

public static List readZipFile(String path){

List list = new ArrayList<>();

List> ddlList=null;

try {

ZipFile zipFile = new ZipFile(path);

InputStream in = new BufferedInputStream(new FileInputStream(path));

ZipInputStream zin = new ZipInputStream(in);<

1.读取zip中文件名,返回文件名列表//读取zip文件内的文件,返回文件名称列表public static List readZipFileName(String path){List list = new ArrayList&lt;&gt;();try {ZipFile zipFile = new ZipFile(path);Enumeration extends ZipEntry&gt; e...
Zip InputStream.getNextEntry()____________获取压缩 文件 内下一个 文件 ,如果当前位置是 文件 夹则从 文件 夹内获取 Zip File.getInputStream( Zip Entry) __________获取 压缩包 内部 文件 的输入流 Workbook wb = null; Zip File zf = new Zip File(url); InputStream i...
最近开发的时候遇到要获取到 zip 压缩包 里面的 文件 内容 ,一开始的想法是先通过代码执行解压,然后 读取 文件 内容 ,但是感觉好麻烦,于是度了一下,发现可以无需解压直接 读取 ,而且还是JDK提供给我们的工具。 解决方案就是通过 Zip InputStream来 读取 Zip InputStream在JDK中的util包中,而我们平时用的FileInputStream等都是在io包中的。 示例如下: @Test public void test() throws Exception { //获取文.
import java .io.File;   import java .io.FileInputStream;   import java .io.FileOutputStream;   import java .io.IOException;   import java .util. zip . Zip E
Java 中,可以使用 Zip InputStream类来解压 ZIP 文件 ,包括 嵌套 ZIP 文件 。以下是解压 嵌套 ZIP 文件 Java 代码示例: ``` java import java .io.*; import java .util. zip .*; public class Un zip Nested Zip { public static void main(String[] args) throws IOException { String zip FilePath = "path/to/nested. zip "; String destDirPath = "path/to/destination/dir"; un zip Nested( zip FilePath, destDirPath); public static void un zip Nested(String zip FilePath, String destDirPath) throws IOException { // 创建目标 文件 夹 File destDir = new File(destDirPath); if (!destDir.exists()) { destDir.mkdir(); // 创建 Zip InputStream对象 Zip InputStream zis = new Zip InputStream(new FileInputStream( zip FilePath)); // 遍历 Zip 文件 中的条目 Zip Entry entry = zis.getNextEntry(); while (entry != null) { String entryName = entry.getName(); // 如果是 嵌套 Zip 文件 ,则递归解压 if (entry.isDirectory() || entryName.endsWith(". zip ")) { String sub Zip FilePath = destDirPath + File.separator + entryName; un zip Nested(sub Zip FilePath, destDirPath + File.separator + entryName.substring(0, entryName.lastIndexOf("."))); } else { // 解压当前条目 String filePath = destDirPath + File.separator + entryName; extractFile(zis, filePath); // 关闭当前条目的输入流, 读取 下一个条目 zis.closeEntry(); entry = zis.getNextEntry(); // 关闭 Zip InputStream zis.close(); public static void extractFile( Zip InputStream zis, String filePath) throws IOException { // 创建目标 文件 File destFile = new File(filePath); // 创建目标 文件 夹 File destDir = destFile.getParentFile(); if (!destDir.exists()) { destDir.mkdirs(); // 写入 文件 内容 byte[] buffer = new byte[1024]; FileOutputStream fos = new FileOutputStream(destFile); int len; while ((len = zis.read(buffer)) > 0) { fos.write(buffer, 0, len); fos.close(); 该示例代码会递归解压 嵌套 ZIP 文件 ,并将所有解压出来的 文件 保存到目标 文件 夹中。需要注意的是,该代码中没有处理加密或密码保护的 ZIP 文件 。如果需要解压这样的 ZIP 文件 ,需要在 Zip InputStream对象创建时设置密码或解密方式。