Description: To get the valid mobile no. from file inputphone.txt and also eliminate Duplication and save into outputphone.txt.
import java.io.BufferedReader;import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.regex.Pattern;
public class RemoveDuplicate
{
private static PrintWriter writer;
private static BufferedReader inputReader;
private static BufferedReader outputReader;
public static void main(String[] args)
{
try
{
//create new file for output data
File f =new File("outputphone.txt");
f.createNewFile();
writer = new PrintWriter("outputphone.txt");
inputReader = new BufferedReader(new FileReader("inputphone.txt"));
String line = inputReader.readLine();
Set<String> listOfNumber = new LinkedHashSet<String>();
String regex = "(0|91)?[7-9][0-9]{9}";
Pattern mobilePattern = Pattern.compile(regex);
while (line!=null )
{
//method :1
StringTokenizer st=new StringTokenizer(line," ");
while(st.hasMoreTokens())
{
String str=st.nextToken();
if (mobilePattern.matches(regex, str))
{
listOfNumber.add(str);
}
}
//method :2
/*
Matcher m = mobilePattern.matcher(line);
while (m.find())
{
listOfNumber.add(m.group());
}*/
line = inputReader.readLine();
}
Iterator iterator = listOfNumber.iterator();
while (iterator.hasNext())
{
outputReader = new BufferedReader(new FileReader("outputphone.txt"));
writer.println(iterator.next());
writer.flush();
}
System.out.println("Completed.........");
}
catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
writer.close();
try
{
inputReader.close();
outputReader.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}