style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Leer archivo de texto y contar palabras repetidas

HOLA QUE TAL PUES BUENO DE REGRESO A LA FACULTAD Y ALGO ATAREADO JAJAJA

BUENO LES EXPONGO EL SIGUIENTE PROBLEMA A RESOLVER:

Leer un archivo de texto y generar una tabla(arreglo unidimensional) en el que se registre cuantas veces se repite cada una de las palabras.

* El usuario pregunta el path y nombre del fichero (mi idea es utilizar el JFileChooser)
*Solo palabras de mas de 3 caracteres se omiten los articulos(el,la)

Bueno espero en un momento mas poner lo que llevo para que me puedan echar una mano..

Saludos.... y mil gracias por sus aportes.... :)

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Te sugiero que no uses el

Te sugiero que no uses el JFileChooser.

Al menos a mí me parecería más útil ( en términos didácticos pues ) hacer lo simple y sencillo. Por ejemplo desde la línea de comandos y pasarle el path como argumento:

java MiPrograma C:\Users\oreyes\archivo.txt

Si métes el JFileChooser, tienes que meter más trabajo de interfaz gráfica y quizá eso haría que pasaras más tiempo como poner una ventana o una caja de texto y manejar el flujo de eventos, que en lo que te interesa, que es precisamente, leer el archivo.

class MiPrograma {
   public static void main( String ...args ) {
       
       String  datos = leerArchivo( args[0]  );
       EstrucuraDeDatosX unaTabla = cuentaPalabrasRepetidas( datos );
   }
   ...
}

No crees? Digo, es una sugerencia. :)

Saludos. Acá esperamos ( espero ) tus avances y te ayudamos cuando te atores.

Imagen de ezamudio

Algoritmo

Si sabes que vas a leer un archivo de texto, usa un BufferedReader sobre un FileReader y ve leyendo linea por linea. Necesitas tener un HashMap en blanco al principio.
Por cada linea de texto, separa las palabras con un StringTokenizer (revisa bien los docs porque ahorita no recuerdo qué pasa con cosas como palabras que tienen una coma, punto, signo de interrogación pegados al final, o signo de admiración, comillas, etc al principio, porque tendrías que quitarle ese signo de puntuación a la palabra).
Ya que tengas la palabra, la buscas en el mapa. Si no te devuelve nada, entonces guarda un 1 en el mapa usando la palabra como llave. Si obtienes un valor, será la cuenta actual de esa palabra en el archivo (porque ya la habías guardado en una iteración previa) y entonces incrementas ese número y lo vuelves a guardar en el mapa.
Al final tendrás un mapa donde las llaves son las palabras que aparecieron en el archivo y los valores son el número de ocurrencias de cada palabra.

Herramienta online

Hola, ¿no es más fácil usar una herramienta online? Yo siempre uso una que se llama contar palabras.
Saludos!

Imagen de neko069

La idea @juangonza, es

La idea @juangonza, es precisamente que se haga el programa que resuelva la problmática que tiene, no presentar una herramienta ya construida....éso y que, seguro para éstas fechas ya resolvió el problema que tenía..

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">