Variable en bucle no se llena
Publicado por dryant (3 intervenciones) el 21/10/2020 09:09:21
Hola a todos, supongo que mi duda será una chorrada, pero llevo un rato y no consigo ver donde está el fallo.
Estoy recorriendo un HashMap<String, Integer> con intencion de guardarlo en un archivo de datos para posteriormente hacer una gráfica con GNUPLOT.
El archivo data.txt debe tener 2 columnas, una con la palabra del texto escaneado, y otra con la frecuencia que aparece esa palabra en dicho texto. Estos datos ya están recopilados y almacenados en el HashMap.
El caso es que iterando sobre el mapa, me esta fallando el llenado de la variable.
Si intento poner todas las claves, me funciona perfectamente.
Si intento poner todos los valores tambien me funciona perfectamente.
Pero si intento poner claves y valores, la variable no se llena y por consiguiente no se escribe el fichero...
Adjunto el código:
Si probáis el código, comentando una de las dos líneas que empiezan por mensaje, funciona perfectamente, pero si estan las dos líneas de mensaje sin comentar se queda la variable vacía...
Se os ocurre por que?
Gracias de antemano!
Estoy recorriendo un HashMap<String, Integer> con intencion de guardarlo en un archivo de datos para posteriormente hacer una gráfica con GNUPLOT.
El archivo data.txt debe tener 2 columnas, una con la palabra del texto escaneado, y otra con la frecuencia que aparece esa palabra en dicho texto. Estos datos ya están recopilados y almacenados en el HashMap.
El caso es que iterando sobre el mapa, me esta fallando el llenado de la variable.
Si intento poner todas las claves, me funciona perfectamente.
Si intento poner todos los valores tambien me funciona perfectamente.
Pero si intento poner claves y valores, la variable no se llena y por consiguiente no se escribe el fichero...
Adjunto el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
try {
String mensaje = "Inicio\n";
int i = 1;
FileWriter fichero = new FileWriter("data4.txt");
Iterator<Map.Entry<String,Integer>> itr= vfmap.entrySet().iterator();
while(itr.hasNext())
{
mensaje = mensaje+i+(itr.next().getKey()) + "\t";
mensaje = mensaje+"\t"+(itr.next().getValue()).toString()+"\n";
i++;
}
mensaje = mensaje + "final";
System.out.println(mensaje);
fichero.write(mensaje);
fichero.close();
} catch (Exception exception) {
exception.printStackTrace();
}
Se os ocurre por que?
Gracias de antemano!
Valora esta pregunta


0