java读取zip中的文件_直接读取Zip文件中的文件 – Java

如果您可以确定您的zip文件永远不会被打包到另一个jar中,您可以使用以下内容:

URL zipUrl = Main.class.getResource("/resources/zipfile.zip");

URL entryUrl = new URL("jar:" + zipUrl + "!/test.txt");

InputStream is = entryUrl.openStream();

要么:

URL zipUrl = Main.class.getResource("/resources/zipfile.zip");

File zipFile = new File(zipUrl.toURI());

ZipFile zip = new ZipFile(zipFile);

InputStream is = zip.getInputStream(zip.getEntry("test.txt"));

否则,您的选择是:

>使用ZipInputStream为您需要加载的每个条目扫描一次zip文件.如果您拥有大量资源,这可能会很慢,除非您可以为所有资源重用相同的ZipInputStream.>不要将资源打包在嵌套的zip文件中,只需使用代码在jar中内嵌它们.>将嵌套的zip文件复制到临时目录中,并使用ZipFile类访问它.

如果您可以确定您的zip文件永远不会被打包到另一个jar中,您可以使用以下内容: URL zipUrl = Main.class.getResource("/resources/zipfile.zip"); URL entryUrl = new URL("jar:" + zipUrl + "!/test.txt"); InputStream is = entryUrl.openStream(); 要么: URL zipUrl = Main.class.getResource("/resources/zipfile.zip"); File zipFile = new File(zipUrl.toURI()); ZipFile zip = new ZipFile(zipFile); InputStream is = zip.getInputStream(zip.getEntry("test.txt")); 否则,您的选择是: >使用ZipInputStream为您需要加载的每个条目扫描一次zip文件.如果您拥有大量资源,这可能会很慢,除非您可以为所有资源重用相同的ZipInputStream.>不要将资源打包在嵌套的zip文件中,只需使用代码在jar中内嵌它们.>将嵌套的zip文件复制到临时目录中,并使用ZipFile类访问它.
经验分享 程序员 微信小程序 职场和发展