
i want a java program that accepts file from user and displays the repeated lines in a file

import java.io.*;
import java.util.*;
class ReadDuplicateLinesFromFile
{
public static <T> List getDuplicate(Collection<T> list) {
final List<T> l = new ArrayList<T>();
Set<T> set = new HashSet<T>() {
public boolean add(T e) {
if (contains(e)) {
l.add(e);
}
return super.add(e);
}
};
for (T t : list){
set.add(t);
}
return l;
}
public static <T> boolean hasDuplicate(Collection<T> list) {
if(getDuplicate(list).isEmpty())
return false;
return true;
}
public static void main(String[] args) throws Exception
{
Scanner input=new Scanner(System.in);
System.out.print("Enter file name: ");
String filename=input.next();
File f=new File(filename);
BufferedReader br=new BufferedReader(new FileReader(f));
ArrayList list=new ArrayList();
String st="";
while((st=br.readLine())!=null){
list.add(st);
}
System.out.println("Duplicate Elements are: ");
if(hasDuplicate(list)){
List l=getDuplicate(list);
for(int i=0;i<l.size();i++){
System.out.println(l.get(i).toString());
}
}
}
}