我想动态加载一个jar文件但是在加载之前我想在它的根目录中读取一个属性文件。有没有办法从jar中读取属性文件而不加载jar?
我尝试了这个,但后来意识到这是我在装载jar后所做的事情。
InputStream inputStream = this.getClass().getClassLoader()
.getResourceAsStream("jdscfg.properties");
我是否需要将文件视为zip并提取文件?
答案 0 :(得分:0)
这是我的解决方案
public static InputStream getInputStreamFromZip(File f, String fileEntry) {
try {
ZipFile zf = new ZipFile(f);
Enumeration entries = zf.entries();
while (entries.hasMoreElements()) {
ZipEntry ze = (ZipEntry) entries.nextElement();
System.out.println("Read " + ze.getName() + "?");
if (ze.getName().equalsIgnoreCase(fileEntry)) {
return zf.getInputStream(ze);
}
}
} catch (IOException e) {
System.err.println("io error accessing zip file");
}
return null;
}