如何从rar归档文件中直接将所需文件读取到InputStream(不提取整个归档文件?)>

问题描述 投票:1回答:1

对于使用java.util.zip.ZipFile的zip归档,看起来非常简单:

public static void main(String[] args) throws IOException 
{
    final ZipFile zipFile = new ZipFile("C:/test.zip");

    final Enumeration<? extends ZipEntry> entries = zipFile.entries();

    while(entries.hasMoreElements())
    {
        final ZipEntry entry = entries.nextElement();

        if(entry.getName().equals("NEEDED_NAME"))
        {
            try(InputStream inputStream = zipFile.getInputStream(entry))
            {
                // Do what's needed with the inputStream.
            }
        }
    }
}

rar存档的替代方案是什么?

我知道Junrar,但没有找到一种方法来将整个存档解压缩到某个文件夹。

编辑:

我添加了“ if entry.getName()语句”行,以表明我只对存档内的某些特定文件感兴趣,并希望避免将整个存档提取到某个文件夹,然后再删除这些文件。

[使用java.util.zip.ZipFile的zip归档看起来很简单:像这样的public static void main(String [] args)引发IOException {final ZipFile zipFile = new ZipFile(“ C:/test.zip”); ...

java rar
1个回答
0
投票

我现在最终使用这样的东西(与Junrar一起使用:

© www.soinside.com 2019 - 2024. All rights reserved.