1. import java.io.*;
  2. import java.util.*;
  3. public class RuntimeEnvironmentDeduplicator {
  4. private static final String INPUT_FILE = "runtime_env.txt";
  5. private static final String OUTPUT_FILE = "deduplicated_runtime_env.txt";
  6. private static final boolean DRY_RUN = true; // Set to false for actual deduplication
  7. public static void main(String[] args) {
  8. try {
  9. List<String> lines = readLinesFromFile(INPUT_FILE);
  10. List<String> deduplicatedLines = deduplicate(lines);
  11. if (DRY_RUN) {
  12. System.out.println("Dry Run: Would write deduplicated data to " + OUTPUT_FILE);
  13. printDeduplicatedLines(deduplicatedLines);
  14. } else {
  15. writeLinesToFile(deduplicatedLines, OUTPUT_FILE);
  16. System.out.println("Deduplication complete. Data written to " + OUTPUT_FILE);
  17. }
  18. } catch (IOException e) {
  19. System.err.println("Error processing file: " + e.getMessage());
  20. e.printStackTrace();
  21. }
  22. }
  23. private static List<String> readLinesFromFile(String filename) throws IOException {
  24. List<String> lines = new ArrayList<>();
  25. try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
  26. String line;
  27. while ((line = reader.readLine()) != null) {
  28. lines.add(line);
  29. }
  30. }
  31. return lines;
  32. }
  33. private static List<String> deduplicate(List<String> lines) {
  34. Set<String> seen = new HashSet<>();
  35. List<String> deduplicated = new ArrayList<>();
  36. for (String line : lines) {
  37. if (!seen.contains(line)) {
  38. seen.add(line);
  39. deduplicated.add(line);
  40. }
  41. }
  42. return deduplicated;
  43. }
  44. private static void writeLinesToFile(List<String> lines, String filename) throws IOException {
  45. try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename))) {
  46. for (String line : lines) {
  47. writer.write(line);
  48. writer.newLine();
  49. }
  50. }
  51. }
  52. private static void printDeduplicatedLines(List<String> lines) {
  53. for (String line : lines) {
  54. System.out.println(line);
  55. }
  56. }
  57. }

Add your comment