summaryrefslogtreecommitdiffstats
path: root/src/de/fhswf/in/inf/java1/aufgabe9/WordCount.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/fhswf/in/inf/java1/aufgabe9/WordCount.java')
-rw-r--r--src/de/fhswf/in/inf/java1/aufgabe9/WordCount.java133
1 files changed, 0 insertions, 133 deletions
diff --git a/src/de/fhswf/in/inf/java1/aufgabe9/WordCount.java b/src/de/fhswf/in/inf/java1/aufgabe9/WordCount.java
deleted file mode 100644
index a6d90ef..0000000
--- a/src/de/fhswf/in/inf/java1/aufgabe9/WordCount.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/**
- *
- */
-package de.fhswf.in.inf.java1.aufgabe9;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.TreeMap;
-
-/**
- * A class, that counts words in files.
- *
- * @author $Author: $
- * @version $Revision: $, $Date: $ UTC
- */
-public class WordCount
-{
-
- private TreeMap<String, Integer> wordMap = new TreeMap<>();
-
- /**
- * Empty constructor.
- *
- */
- public WordCount()
- {
-
- }
-
- /**
- * Reads a file and counts the words.
- *
- * @param file
- * The file to be read.
- */
- public final void readFile(File file)
- {
- try (BufferedReader f = new BufferedReader(new FileReader(file)))
- {
- wordMap.clear();
-
- String line = null;
-
- while ((line = f.readLine()) != null)
- {
- String[] lineArray = line
- .split("[^\\p{IsAlphabetic}\\p{Digit}]+");
- for (String word : lineArray)
- {
- // Split creates empty String, if first char is a split char.
- if (!word.isEmpty())
- {
- word = word.toLowerCase();
-
- Integer tmp = wordMap.get(word);
- if (tmp != null)
- {
- wordMap.put(word, tmp + 1);
- }
- else
- {
- wordMap.put(word, new Integer(1));
- }
- }
- }
- }
- }
- catch (IOException e)
- {
- e.printStackTrace(System.err);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#toString()
- */
- @Override
- public final String toString()
- {
- StringBuilder ret = new StringBuilder();
-
- for (Entry<String, Integer> mapping : wordMap.entrySet())
- {
- ret.append(mapping.getKey() + " = " + mapping.getValue() + "\n");
- }
-
- return ret.toString();
- }
-
- /**
- * Returns all words from the file.
- *
- * @return An unmodifiable Set of the words from the file.
- */
- public final Set<String> getWords()
- {
- return Collections.unmodifiableSet(wordMap.keySet());
- }
-
- /**
- * Returns the count of a word in a file.
- *
- * @param word
- * The file to be counted.
- * @return Returns the count of findings in the file.
- */
- public final int getCount(String word)
- {
- if (word == null)
- {
- throw new IllegalArgumentException("Word must be a valid referece.");
- }
- if (word.isEmpty())
- {
- throw new IllegalArgumentException("The word can't be empty.");
- }
-
- Integer tmp = wordMap.get(word);
- if (tmp == null)
- {
- return 0;
- }
- return tmp;
- }
-
-}