在Java程序中獲取配置文件的值,可以使用Java的Properties類或者配置文件的相關(guān)類庫(kù)來(lái)實(shí)現(xiàn)。
首先將配置文件加載到Properties對(duì)象中,然后通過(guò)getProperty()方法獲取配置項(xiàng)的值。
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class ConfigReader {
public static void main(String[] args) {
Properties prop = new Properties();
InputStream input = null;
try {
input = new FileInputStream("config.properties");
prop.load(input);
String value = prop.getProperty("key");
System.out.println("Value: " + value);
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
上述代碼中的配置文件為"config.properties",其中包含了一個(gè)名為"key"的配置項(xiàng)。
除了使用Properties類,還可以使用Apache的Commons Configuration庫(kù)等第三方庫(kù)來(lái)讀取配置文件。
使用Apache Commons Configuration庫(kù)示例:
import org.apache.commons.configuration2.Configuration;
import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder;
import org.apache.commons.configuration2.builder.fluent.Parameters;
import org.apache.commons.configuration2.ex.ConfigurationException;
public class ConfigReader {
public static void main(String[] args) {
Parameters params = new Parameters();
FileBasedConfigurationBuilder<PropertiesConfiguration> builder =
new FileBasedConfigurationBuilder<>(PropertiesConfiguration.class)
.configure(params.properties()
.setFileName("config.properties"));
try {
Configuration config = builder.getConfiguration();
String value = config.getString("key");
System.out.println("Value: " + value);
} catch (ConfigurationException ex) {
ex.printStackTrace();
}
}
}
上述代碼使用了Apache Commons Configuration庫(kù)的PropertiesConfiguration類來(lái)讀取配置文件。需要先創(chuàng)建一個(gè)FileBasedConfigurationBuilder對(duì)象,然后通過(guò)configure()方法指定配置文件的路徑,最后通過(guò)getConfiguration()方法獲取配置對(duì)象,并使用getString()方法獲取具體配置項(xiàng)的值。