Total Pageviews

Friday 19 September 2014

java program to count number of unique words separated by comma (,) or newline and their occurrence from text file.

java program to count number of unique words separated by comma (,) or newline and their occurrence from text file.


package programs;

import java.util.*;
import java.io.*;

public class uniquewrdsoccurence {

private String[] spliter;
private int[] count;
public void countWord(String Text) {

String temp1 = Text.replaceAll("[\\n]", " ");
String temp = temp1.replaceAll(",", " ");
spliter = temp.replaceAll("[.?!:;/]", "").split(" ");
count = new int[spliter.length];
for (int i = 0; i < spliter.length; i++) {
temp = spliter[i];
for (int k = 0; k < spliter.length; k++) {
if (temp.equalsIgnoreCase(spliter[k])) {
count[k]++;
}
}
}

printResult();
}

private void printResult() {

HashMap map = new HashMap();
int counter = 0;

for (int i = 0; i < spliter.length; i++) {
map.put(spliter[i].toLowerCase(), count[i]);
}

Iterator it = map.keySet().iterator();

System.out.println("Words             Count");
System.out.println("#######################");
while (it.hasNext()) {
counter++;

String temp = (String) it.next();

// prints the word 
System.out.print(temp);

// prints the spaces
for (int i = 0; i < (20 - temp.length()); i++) {
System.out.print(" ");
}

// print the value -total count
System.out.println(map.get(temp.toString()));

}
System.out.println("#######################");
System.out.println("Number of unique words in file:" + counter);
}

// main method 
public static void main(String[] arg) {
String pattern = "";
String str = null;

try {
FileInputStream filestream = new FileInputStream(
System.getProperty("user.dir") + "\\words.txt");
DataInputStream datastream = new DataInputStream(filestream);
BufferedReader Br = new BufferedReader(new InputStreamReader(datastream));
while ((str = Br.readLine()) != null) {
pattern = pattern.concat(str);
pattern = pattern.concat(" ");
}
datastream.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
uniquewrdsoccurence wco = new uniquewrdsoccurence();
wco.countWord(pattern);
}

}

No comments:

Post a Comment