1. import java.io.BufferedReader;
  2. import java.io.FileReader;
  3. import java.io.IOException;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6. public class HeaderValidator {
  7. public static void main(String[] args) {
  8. if (args.length != 1) {
  9. System.out.println("Usage: java HeaderValidator <header_file>");
  10. return;
  11. }
  12. String headerFilePath = args[0];
  13. validateHeaders(headerFilePath);
  14. }
  15. public static void validateHeaders(String headerFilePath) {
  16. try (BufferedReader reader = new BufferedReader(new FileReader(headerFilePath))) {
  17. String line;
  18. Map<String, String> headers = new HashMap<>();
  19. while ((line = reader.readLine()) != null) {
  20. // Basic validation: check for "key: value" format
  21. if (line.contains(":")) {
  22. String[] parts = line.split(":", 2); // Split only at the first colon
  23. if (parts.length == 2) {
  24. String key = parts[0].trim();
  25. String value = parts[1].trim();
  26. // Simple validation: check for empty key or value
  27. if (key.isEmpty() || value.isEmpty()) {
  28. System.err.println("Invalid header format: " + line + " - Key or value cannot be empty.");
  29. return;
  30. }
  31. headers.put(key, value);
  32. } else {
  33. System.err.println("Invalid header format: " + line);
  34. return;
  35. }
  36. } else {
  37. System.err.println("Invalid header format: " + line);
  38. return;
  39. }
  40. }
  41. // Print the validated headers
  42. System.out.println("Valid Headers:");
  43. for (Map.Entry<String, String> entry : headers.entrySet()) {
  44. System.out.println(entry.getKey() + ": " + entry.getValue());
  45. }
  46. } catch (IOException e) {
  47. System.err.println("Error reading header file: " + e.getMessage());
  48. }
  49. }
  50. }

Add your comment