如何读取Jar包里面的文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何读取Jar包里面的文件相关的知识,希望对你有一定的参考价值。
读取Jar包里面的文件方法:
1、右键点击jar文件,选择打开方式,然后设定为压缩文件打开的方式,这时候就会看到桌面上的jar文件变成了一个压缩包的图标。
2、双击桌面的jar文件,就可以以压缩包的形式查看jar文件里面的具体内容了。
参考技术A 方法1:@Test
public void usingSpringMethod() throws Throwable
PathMatchingResourcePatternResolver patternResolver = new PathMatchingResourcePatternResolver();
Resource[] resources = patternResolver.getResources("com/yyy/1.txt");//<--②
if (resources != null && resources.length > 0)
InputStreamReader inputStreamReader = new InputStreamReader(resources[0].getInputStream());//<---①
char[] data = new char[100];
inputStreamReader.read(data);
assertEquals((new String(data)).trim(), "ddddd");
上面①处,使用resource[0].getInputStream()代替原来的
引用
resources[0].getFile()
当然,②处的资源路径表达式,可以使用Spring的其它方式表示:
方式1:
Java代码
Resource[] resources = patternResolver.getResources("classpath:com/yyy/1.txt");
方式2:
Java代码
Resource[] resources = patternResolver.getResources("classpath*:com/yyy/1.txt");
方法2:
直接原生的JDK方式读取
Spring对资源路径的表达方式非常灵活,这是首选使用Spring加载资源的原因。当然,使用JDK原生的ClassLoader也可以加载JAR中的资源文件,如下所示:
@Test
public void usingJDKMethod() throws Throwable
URL url = getClass().getClassLoader().getResource("com/yyy/1.txt");//<--①
InputStreamReader inputStreamReader = new InputStreamReader(url.openStream());
char[] data = new char[100];
inputStreamReader.read(data);
assertEquals((new String(data)).trim(), "ddddd");
唯一的限制是,在①处不再支持classpath:或classpath*:的前缀了。
jar命令如何 打包文件夹里面的除了其中一个文件abc.jar的其他的所有文件
要除了abc.jar哦,其他都要打包进去,一条jar命令,等待你的回答
1 在其他目录打包,jar命令 例如e:\test1\test11
jar cvf e:\test1\test11\test11.jar -C e:\test1\test11\ .
但是包含test11.jar也打进去了
2 在当前目录
jar cvf test11.jar .
可以不包含test11.jar
以上是关于如何读取Jar包里面的文件的主要内容,如果未能解决你的问题,请参考以下文章