Tarea 4: Histograma de Frecuencia de Palabras Usando Java

NOTA: Debido a que me equivoqué y publiqué la solución de la tarea en lugar del punto de partida deseado, reformulo la tarea para que tomes la solución propuesta de la tarea original y la modifiquen para:
    1.- Hacer el listado en mayúscula.
    2.- Que el orden sea ascendente.
    3.- Si hay un arcgumento de entrada, éste debe ser el archivo a procesar.
    4.- Si hay dos argumentos de salidas, el segundo es el archvido donde debe dejar los resultados.


En esta tarea usted experimentará el uso de Java y el manejo de clases estándares de Java como los contenedores Hashtable y  Vector.

Problema
    Como en el caso de la tarea 3, se le pide escribir un programa que lea un documento (archivo) de la entrada estándar y produzcas en la salida estándar un listado de todas las palabras aparecidas en el documento junto con un contador del número de ocurrencias de cada palabra. El listado debería estar en ordenado por número decreciente de ocurrencias y orden alfabético dentro de una misma frecuencia de ocurrencia.
    Cada línea del listado de salida debe contener una única palabra (todas en minúsculas) seguidas por uno o más espacios en blanco y seguidas por un entero indicando el númerio de ocurrencias.
    Para efectos de esta tarea, una "palabra" es un string de caracteres alfabéticos limitados en ambos extremos por caracteres no alfabéticos, el comienzo o fin de línea y el comienzo o fin de archivo. Las diferencias en mayúscula o minusculas  no son consideradas relevantes. "hola", "HOLA", y "Hola" son todas tratadas como la misma palabra.

Implementación
    Usted debería producir una implementación usando Java. Un "esqueleto" de la solución está disponible en  histograma.java (aunque este fue el archivo publicado originalmente) y WordCounts.java los cuales pueden ser usados como punto de partida.
    Observe los comentarios en estilo /*  */ que indican las porciones del código que ustede debe incorporar para completar el algoritmo.
 
Envio de la Tarea
   Crear un subdirectorio que lleva su nombre y con SOLO los archivos siguientes: Makefile, readme.txt, historgrama.java, WordCounts.java, y documentacion (descripción el un formato visible en linux, con una descripción de alto nivel del algoritmo). El archivo comprimido (zip o tar) se envia a elo326@elo.utfsm.cl

Ejemplo
    Si su programa es aplicado este archivo histograma.java se obtendrá algo como esto .