1. import java.io.*;
  2. import java.util.*;
  3. public class ArgsParser {
  4. public static void main(String[] args) {
  5. try {
  6. Map<String, Object> config = loadConfig("config.txt"); // Load configuration from file
  7. processConfig(config); // Process the configuration
  8. } catch (IOException e) {
  9. System.err.println("Error loading config: " + e.getMessage());
  10. }
  11. }
  12. public static Map<String, Object> loadConfig(String filename) throws IOException {
  13. Map<String, Object> config = new HashMap<>();
  14. try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
  15. String line;
  16. while ((line = reader.readLine()) != null) {
  17. line = line.trim();
  18. if (line.isEmpty() || line.startsWith("#")) continue; // Skip empty lines and comments
  19. String[] parts = line.split("=");
  20. if (parts.length != 2) continue; // Skip invalid lines
  21. String key = parts[0].trim();
  22. String value = parts[1].trim();
  23. // Attempt to parse the value as integer, boolean, or string
  24. try {
  25. config.put(key, Integer.parseInt(value));
  26. } catch (NumberFormatException e) {
  27. try {
  28. config.put(key, Boolean.parseBoolean(value));
  29. } catch (NumberFormatException e2) {
  30. config.put(key, value); // Default to string
  31. }
  32. }
  33. }
  34. }
  35. return config;
  36. }
  37. public static void processConfig(Map<String, Object> config) {
  38. // Example usage: Accessing configuration values
  39. String name = (String) config.get("name");
  40. int age = (Integer) config.get("age");
  41. boolean enabled = (Boolean) config.get("enabled");
  42. System.out.println("Name: " + name);
  43. System.out.println("Age: " + age);
  44. System.out.println("Enabled: " + enabled);
  45. }
  46. }

Add your comment