Jar内外配置文件的读取public class JarReader { public static void main(String[] args) { String jarPath = "C

来源:互联网 发布:周立功单片机公司 编辑:程序博客网 时间:2024/04/30 09:48

一个简单的例子,提供读取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包当前路径,再用相对路径找到配置文件;或者直接使用配置文件绝对路径。不举例了。


类名.class.getProtectionDomain().getCodeSource().getLocation().getPath(); 可以获取执行类路径,即打成jar包后,为jar包路径;在 eclipse中,为工程bin目录

原创粉丝点击