阅读量:1
可以使用Java中的ClassLoader来读取jar包下的配置文件。
使用ClassLoader的getResourceAsStream方法来读取jar包下的配置文件,代码示例如下:
import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class ReadConfigFromJar { public static void main(String[] args) { // 使用ClassLoader加载配置文件 InputStream inputStream = ReadConfigFromJar.class.getClassLoader().getResourceAsStream("config.properties"); Properties properties = new Properties(); try { // 加载配置文件 properties.load(inputStream); // 获取配置项的值 String value = properties.getProperty("key"); System.out.println(value); } catch (IOException e) { e.printStackTrace(); } finally { if (inputStream != null) { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
在上述示例代码中,通过ClassLoader.getResourceAsStream("config.properties")
方法来获取配置文件的输入流,然后使用Properties类加载输入流并获取配置项的值。需要注意的是,配置文件必须位于classpath下。
另外,需要将配置文件的路径以正确的相对路径方式传递给getResourceAsStream
方法。如果配置文件位于jar包的根目录下,则直接使用文件名即可,如果配置文件位于jar包的子目录下,则需要将目录路径和文件名一起传递,例如"config/sub_config.properties"
。