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.... :)
- Inicie sesión o regístrese para enviar comentarios
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:
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.
No crees? Digo, es una sugerencia. :)
Saludos. Acá esperamos ( espero ) tus avances y te ayudamos cuando te atores.
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!
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..