Java 为jar中的文件打开inputstream
我想访问jar中的一个文件并将其解包。但是我不能像访问文件那样使用路径访问它。最好的方法是什么?我假设您要访问的文件在resources文件夹中。当您生成一个jar时,路径会发生变化,这篇文章可能会帮助您:Java 为jar中的文件打开inputstream,java,Java,我想访问jar中的一个文件并将其解包。但是我不能像访问文件那样使用路径访问它。最好的方法是什么?我假设您要访问的文件在resources文件夹中。当您生成一个jar时,路径会发生变化,这篇文章可能会帮助您: 我想我们可以这样做 JarFile jarFile = new JarFile("the/path/of/jar"); InputStream inputStream =null; ZipEntry file = jarFile.getEntry("file/i
我想我们可以这样做
JarFile jarFile = new JarFile("the/path/of/jar");
InputStream inputStream =null;
ZipEntry file = jarFile.getEntry("file/i/need");
if(file != null) {
inputStream = jarFile.getInputStream(file);
}
这是一个maven依赖项jar。它位于当地的maven回购协议中。我有路。我想访问jar中的属性文件。我想对工作区中的所有项目都这样做,比如遍历依赖项并读取每个项目的属性。所以我认为那不行。@kiri:你试过了吗?在我的情况下,我是从外部访问项目的。我不在这个项目里面。我正在进行eclipse插件开发,并将每个项目作为IProject进行迭代,获取它们的ClassPathEntries。从那里我可以知道它的位置。(我感兴趣的是maven回购协议)。我试着做如下的事情,但没有成功
for(IClasspathEntry classpathEntry:classPathEntries){InputStream is=classpathEntry.getClass().getClassLoader().getResourceAsStream(“META-INF/Packages.xml”);}
这篇文章也有类似的内容