programming-examples/java/_Basics/SimpleWordCounter (Java).java
2019-11-15 12:59:38 +01:00

40 lines
1.3 KiB
Java

// Program demonstrating use of a map to count the frequency of words in a file.
import java.io.File;
import java.io.IOException;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
public class SimpleWordCounter
{
public static void main(String[] args)
{
try
{
File f = new File("ciaFactBook2008.txt");
Scanner sc;
sc = new Scanner(f);
// sc.useDelimiter("[^a-zA-Z']+");
Map<String, Integer> wordCount = new TreeMap<String, Integer>();
while(sc.hasNext())
{
String word = sc.next();
if(!wordCount.containsKey(word))
wordCount.put(word, 1);
else
wordCount.put(word, wordCount.get(word) + 1);
}
// show results
for(String word : wordCount.keySet())
System.out.println(word + " " + wordCount.get(word));
System.out.println(wordCount.size());
}
catch(IOException e)
{
System.out.println("Unable to read from file.");
}
}
}