find duplicate lines and delete inoutput file, also display on console. java program.

 



import java.io.*;

import java.text.SimpleDateFormat;

import java.util.*;


public class FileDuplicateRemover {

    public static void main(String[] args) {

    String inputFilePath = "C:\\Deviprasad\\input\\example.txt";

    String fileName = "example.txt"; // input file

        // String outputDir = "C:\\Deviprasad\\output\\";

        String timestamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());

        String outputFilePath = "C:\\Deviprasad\\output\\"+"example_" + timestamp + ".txt";


        Set<String> uniqueLines = new LinkedHashSet<>();

        Map<String, List<Integer>> duplicates = new LinkedHashMap<>();


        try (BufferedReader reader = new BufferedReader(new FileReader(inputFilePath));

             BufferedWriter writer = new BufferedWriter(new FileWriter(outputFilePath))) {


            String line;

            int lineNumber = 1;


            while ((line = reader.readLine()) != null) {

                String trimmedLine = line.trim();


                if (!trimmedLine.isEmpty()) {

                    if (!uniqueLines.contains(trimmedLine)) {

                        uniqueLines.add(trimmedLine);

                    } else {

                        duplicates.computeIfAbsent(trimmedLine, k -> new ArrayList<>()).add(lineNumber);

                    }

                }

                lineNumber++;

            }


            // Write only unique lines to output file

            for (String uniqueLine : uniqueLines) {

                writer.write(uniqueLine);

                writer.newLine();

            }


            // Display duplicate lines and row numbers

            if (!duplicates.isEmpty()) {

                System.out.println("Duplicate lines found:");

                for (Map.Entry<String, List<Integer>> entry : duplicates.entrySet()) {

                    System.out.println("Line: \"" + entry.getKey() + "\" repeated at rows " + entry.getValue());

                }

            } else {

                System.out.println("No duplicate lines found.");

            }


            System.out.println("Output file created: " + outputFilePath);


        } catch (IOException e) {

            System.err.println("Error: " + e.getMessage());

        }

    }

}

----------
Duplicate lines found:
Line: "Hello world" repeated at rows [3]
Line: "Java programming" repeated at rows [5]
Output file created: C:\Deviprasad\output\example_20250409_185502.txt