import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Logger;
public class ConfigReload {
private static final Logger logger = Logger.getLogger(ConfigReload.class.getName());
private static Map<String, String> config = new HashMap<>();
public static void reloadConfig(String configFilePath) {
try {
// Load configuration from file
config.clear(); // Clear existing config
File configFile = new File(configFilePath);
if (!configFile.exists()) {
logger.severe("Config file not found: " + configFilePath);
return;
}
//Basic file reading approach, consider more robust parsing libraries for complex configs
java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.FileReader(configFile));
String line;
while ((line = reader.readLine()) != null) {
String[] parts = line.split("=");
if (parts.length == 2) {
String key = parts[0].trim();
String value = parts[1].trim();
config.put(key, value);
} else {
logger.warning("Invalid line in config file: " + line);
}
}
reader.close();
logger.info("Configuration reloaded from: " + configFilePath);
} catch (Exception e) {
logger.severe("Error reloading configuration: " + e.getMessage());
e.printStackTrace(); //Print stacktrace for debugging
}
}
public static String getConfig(String key) {
return config.getOrDefault(key, null); //Return null if key doesn't exist
}
public static void main(String[] args) {
// Example usage
String configFilePath = "config.txt"; // Replace with your config file path
reloadConfig(configFilePath);
if (getConfig("myKey") != null) {
System.out.println("myKey: " + getConfig("myKey"));
} else {
System.out.println("myKey not found in config");
}
}
}
Add your comment