在Java程序中獲取配置文件的值,可以使用Java的Properties類或者配置文件的相關類庫來實現。
首先將配置文件加載到Properties對象中,然后通過getProperty()方法獲取配置項的值。
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",其中包含了一個名為"key"的配置項。
除了使用Properties類,還可以使用Apache的Commons Configuration庫等第三方庫來讀取配置文件。
使用Apache Commons Configuration庫示例:
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庫的PropertiesConfiguration類來讀取配置文件。需要先創建一個FileBasedConfigurationBuilder對象,然后通過configure()方法指定配置文件的路徑,最后通過getConfiguration()方法獲取配置對象,并使用getString()方法獲取具體配置項的值。