import java.io.*;
import java.util.*;
public class ArgsParser {
public static void main(String[] args) {
try {
Map<String, Object> config = loadConfig("config.txt"); // Load configuration from file
processConfig(config); // Process the configuration
} catch (IOException e) {
System.err.println("Error loading config: " + e.getMessage());
}
}
public static Map<String, Object> loadConfig(String filename) throws IOException {
Map<String, Object> config = new HashMap<>();
try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
String line;
while ((line = reader.readLine()) != null) {
line = line.trim();
if (line.isEmpty() || line.startsWith("#")) continue; // Skip empty lines and comments
String[] parts = line.split("=");
if (parts.length != 2) continue; // Skip invalid lines
String key = parts[0].trim();
String value = parts[1].trim();
// Attempt to parse the value as integer, boolean, or string
try {
config.put(key, Integer.parseInt(value));
} catch (NumberFormatException e) {
try {
config.put(key, Boolean.parseBoolean(value));
} catch (NumberFormatException e2) {
config.put(key, value); // Default to string
}
}
}
}
return config;
}
public static void processConfig(Map<String, Object> config) {
// Example usage: Accessing configuration values
String name = (String) config.get("name");
int age = (Integer) config.get("age");
boolean enabled = (Boolean) config.get("enabled");
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Enabled: " + enabled);
}
}
Add your comment