一个简单的例子,提供读取Jar包内外配置文件的一种方法:
1、读取Jar包内
public class JarReader {
public static void main(String[] args) {
String jarPath = "C:\\Documents and Settings\\Administrator\\桌面\\新建文件夹\\kk.jar";
String entryFile = "config/database.properties";
doRead(jarPath,entryFile);
}
public static void doRead(String jarPath, String entryFile) {
try {
JarFile jarFile = new JarFile(jarPath);
JarEntry entry = jarFile.getJarEntry(entryFile);
InputStream input = jarFile.getInputStream(entry);
process(input);
jarFile.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private static void process(InputStream input) {
Properties p = new Properties();
try {
p.load(input);
Set<?> set = p.keySet();
for (Object name : set)
System.out.println(name + "=" + p.getProperty((String) name));
} catch (IOException e) {
e.printStackTrace();
}
}
}
2、读取Jar包外
这个比较简单,可以获取Jar包当前路径,再用相对路径找到配置文件;或者直接使用配置文件绝对路径。不举例了。