import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.util.HashMap; import java.util.Map; import java.util.Scanner; import java.util.StringTokenizer; import java.util.Map.Entry; public class WordCount { public static void main(String[] args) throws FileNotFoundException { // TODO Auto-generated method stub Map next = new HashMap(); CountReader("pg100_small.txt", next); for (String i : next.keySet()) { System.out.println(i + " " + next.get(i)); } CountWriter(next); } public static void CountReader(String fname, Map words1) throws FileNotFoundException { String text = ""; String line = ""; try { // FileReader reads text files in the default encoding. FileReader fileReader = new FileReader(fname); // Always wrap FileReader in BufferedReader. BufferedReader bufferedReader = new BufferedReader(fileReader); int l = 0; while ((line = bufferedReader.readLine()) != null) { text = text + " " + line; l++; } StringTokenizer st = new StringTokenizer(text, " !\"#$%&'()*+,-./:;?@[\\]^_`{|}~1234567890"); // ' optional? while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } bufferedReader.close(); // Always close files. } catch (FileNotFoundException ex) { System.out.println("Unable to open file '" + fname + "'"); } catch (IOException ex) { System.out.println("Error reading file '" + fname + "'"); } Map st = new HashMap(); Scanner ScannerReader = new Scanner(new File(fname)); while (ScannerReader.hasNext()) { String next = ScannerReader.next(); Integer count = st.get(next); if (count != null) { words1.put(next, count + 1); } else { words1.put(next, 1); } } ScannerReader.close(); } public static void CountWriter(Map words) throws FileNotFoundException { String eol = System.lineSeparator(); try (Writer writer = new FileWriter("somefile.csv")) { for (Entry entry : words.entrySet()) { writer.append(entry.getKey() + " " + entry.getValue()) .append(eol); } } catch (IOException ex) { ex.printStackTrace(System.err); } } }