file Line duplicate line number using java io ,
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class FileReaderExample1 {
public static void main(String[] args) {
//String filePath = "C:\\Users\\04758W744\\Desktop\\123.txt"; // Replace with your file path
/*
String filename ="C:\\Users\\04758W744\\Desktop\\123.txt";
try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
Map<String, Integer> lineCounts = new HashMap<>();
String line;
int lineNumber = 1;
while ((line = reader.readLine()) != null) {
if (lineCounts.containsKey(line)) {
lineCounts.put(line, lineCounts.get(line) + 1);
if (lineCounts.get(line) == 2) { // First duplicate occurrence
System.out.println("Number Times:" + lineCounts.get(line) + " Line Number:" + lineNumber + ": " + line);
}
} else {
lineCounts.put(line, 1);
}
lineNumber++;
}
} catch (IOException e) {
System.err.println("Error reading file: " + e.getMessage());
}*/
String filename ="C:\\Users\\04758W744\\Desktop\\123.txt";
try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
Map<String, List<Integer>> lineCounts = new HashMap<>();
String line;
int lineNumber = 1;
while ((line = reader.readLine()) != null) {
// Ignore empty lines
if (line.trim().isEmpty()) {
continue;
}
if (lineCounts.containsKey(line)) {
lineCounts.get(line).add(lineNumber); // Add line number to the list
} else {
List<Integer> lineNumbers = new ArrayList<>();
lineNumbers.add(lineNumber);
lineCounts.put(line, lineNumbers);
}
lineNumber++;
}
// Print the results
for (Map.Entry<String, List<Integer>> entry : lineCounts.entrySet()) {
String line1 = entry.getKey();
List<Integer> lineNumbers = entry.getValue();
// Check if the line is repeated
if (lineNumbers.size() > 1) {
System.out.print("Line number " + lineNumbers.get(0) + ": " + line1 + " ; is repeated at Lines numbers: ");
for (int i = 1; i < lineNumbers.size(); i++) {
System.out.print(lineNumbers.get(i) + ", ");
}
System.out.println();
}
}
} catch (IOException e) {
System.err.println("Error reading file: " + e.getMessage());
}
}
}
----
Line number 3: sadfadsf ; is repeated at Lines numbers: 6, 8,
Line number 1: asdf ; is repeated at Lines numbers: 4, 5, 7,
https://www.mynikko.com/tools/tool_duplicateremover.html