尝试在jar中访问Zip文件时出现FileNotFoundException

时间:2013-05-01 14:08:29

标签: java file jar zip

我想在Java中打开一个ZipFile,在从eclipse导出项目后就在.jar中。这是我写的代码:

String modpath = "/ModByDNSYeti.zip";
URL url = this.getClass().getResource(modpath);

ZipFile newTextures = new ZipFile(url.toString());

如果我执行jar,我会得到一个

  

FileNotFoundException:file:“path”

其中“path”是ZipFile所在的确切路径。它就在那里。我现在检查了很多次,但我无法弄清楚要做什么。从Eclipse启动程序时出现相同的错误。谷歌也没有把我带到任何地方。

此致 DNSYeti

1 个答案:

答案 0 :(得分:1)

您正在尝试将资源作为文件访问,这将无法正常工作 - 这就是您获取FileNotFound异常的原因。您可以做的是将资源作为流抓取并使用它来创建ZipInputStream:

ZipInputStream zipInStream = new ZipInputStream(this.getClass().getResourceAsStream(modpath));

然后,您可以使用ZipInputStream来读取ZIP文件。