1. import java.io.File;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. import java.util.logging.Logger;
  5. public class ConfigReload {
  6. private static final Logger logger = Logger.getLogger(ConfigReload.class.getName());
  7. private static Map<String, String> config = new HashMap<>();
  8. public static void reloadConfig(String configFilePath) {
  9. try {
  10. // Load configuration from file
  11. config.clear(); // Clear existing config
  12. File configFile = new File(configFilePath);
  13. if (!configFile.exists()) {
  14. logger.severe("Config file not found: " + configFilePath);
  15. return;
  16. }
  17. //Basic file reading approach, consider more robust parsing libraries for complex configs
  18. java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.FileReader(configFile));
  19. String line;
  20. while ((line = reader.readLine()) != null) {
  21. String[] parts = line.split("=");
  22. if (parts.length == 2) {
  23. String key = parts[0].trim();
  24. String value = parts[1].trim();
  25. config.put(key, value);
  26. } else {
  27. logger.warning("Invalid line in config file: " + line);
  28. }
  29. }
  30. reader.close();
  31. logger.info("Configuration reloaded from: " + configFilePath);
  32. } catch (Exception e) {
  33. logger.severe("Error reloading configuration: " + e.getMessage());
  34. e.printStackTrace(); //Print stacktrace for debugging
  35. }
  36. }
  37. public static String getConfig(String key) {
  38. return config.getOrDefault(key, null); //Return null if key doesn't exist
  39. }
  40. public static void main(String[] args) {
  41. // Example usage
  42. String configFilePath = "config.txt"; // Replace with your config file path
  43. reloadConfig(configFilePath);
  44. if (getConfig("myKey") != null) {
  45. System.out.println("myKey: " + getConfig("myKey"));
  46. } else {
  47. System.out.println("myKey not found in config");
  48. }
  49. }
  50. }

Add your comment