日期:2014-05-20  浏览次数:20626 次

如何读取jar包内面的一个txt文件的内容?
我把txt,cfg等一些资源文件放进a.jar包内的source文件夹,其它使用这个a.jar包的人会用上这些文件.
由于不能用绝对路径来读取包内的txt文件,请问我应该如何读取a.jar包内的txt文件?  



------解决方案--------------------
只要这个包在classpath下面,应该就可以直接读取里面的文件了吧?
比如“../source/1.txt”或者 "source/1.txt "
试试看,多试几次肯定能成功
------解决方案--------------------
JarFile jarFile = new JarFile( "a.jar ");
JarEntry entry = jarFile.getJarEntry( "source/a.txt ");
------解决方案--------------------
JarFile jarFile = new JarFile( "lib/a.jar ");
InputStream in = jarFile.getInputStream(jarFile.getEntry( "source/test.txt "));
byte[] b = new byte[1024];
int len;
while((len=in.read(b))!=-1){
System.out.println(new String(b,0,len));
}
------解决方案--------------------
jar包中的其他文件可以用
pacakge.filename的方式访问~
就像普通的class文件那样访问~

也就是用 "包名.文件名 ",而不是 "文件夹名/文件名 "