import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class HeaderValidator {
public static void main(String[] args) {
if (args.length != 1) {
System.out.println("Usage: java HeaderValidator <header_file>");
return;
}
String headerFilePath = args[0];
validateHeaders(headerFilePath);
}
public static void validateHeaders(String headerFilePath) {
try (BufferedReader reader = new BufferedReader(new FileReader(headerFilePath))) {
String line;
Map<String, String> headers = new HashMap<>();
while ((line = reader.readLine()) != null) {
// Basic validation: check for "key: value" format
if (line.contains(":")) {
String[] parts = line.split(":", 2); // Split only at the first colon
if (parts.length == 2) {
String key = parts[0].trim();
String value = parts[1].trim();
// Simple validation: check for empty key or value
if (key.isEmpty() || value.isEmpty()) {
System.err.println("Invalid header format: " + line + " - Key or value cannot be empty.");
return;
}
headers.put(key, value);
} else {
System.err.println("Invalid header format: " + line);
return;
}
} else {
System.err.println("Invalid header format: " + line);
return;
}
}
// Print the validated headers
System.out.println("Valid Headers:");
for (Map.Entry<String, String> entry : headers.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
} catch (IOException e) {
System.err.println("Error reading header file: " + e.getMessage());
}
}
}
Add your comment