Java - Problema con leer un .txt

 
Vista:
Imágen de perfil de Aglo
Val: 4
Ha aumentado su posición en 7 puestos en Java (en relación al último mes)
Gráfica de Java

Problema con leer un .txt

Publicado por Aglo (3 intervenciones) el 16/04/2020 13:22:27
Tengo este código de prueba MUY sencillo:
1
2
3
4
5
6
7
8
File archivo = null;
FileReader fr = null;
BufferedReader br = null;
archivo = new File("C:\\ej_java_leer\\cancion.txt");
fr = new FileReader(archivo);
br = new BufferedReader(fr);
int numero1 = fr.read();
System.out.println(numero1);

El archivo al que lee tiene un solo numero, el 3. Pero la consola devuelve 51. Por qué? Creo que tiene que ver con algo de la codificación de UTF-8, pero no estoy seguro.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de pablo
Val: 626
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Problema con leer un .txt

Publicado por pablo (239 intervenciones) el 16/04/2020 16:32:25
Hola Aglo

1
2
3
4
5
6
7
8
9
10
String cadena;
File archivo = null;
FileReader fr = null;
BufferedReader br = null;
archivo = new File("C:\\ej_java_leer\\cancion.txt");
fr = new FileReader(archivo);
br = new BufferedReader(fr);
while((cadena = br.readLine())!=null) {
    System.out.println(cadena);
}

Realiza esos cambios en tú código para verificar si se solventa el problema.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Camilo
Val: 110
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Problema con leer un .txt

Publicado por Camilo (25 intervenciones) el 16/04/2020 16:42:15
Buenos días, el errores son:
1) 51 es la identificación ASCII del 3, y no el carácter como tal
2) Se uso el FileReader (fr) y no el BufferedReader (br)
3) es mejor usar el comando readLine, así lee la linea completa, no el read

1
2
3
4
5
6
7
8
File archivo = null;
FileReader fr = null;
BufferedReader br = null;
archivo = new File("D:\\cancion.txt");
fr = new FileReader(archivo);
br = new BufferedReader(fr);
String numero1 = br.readLine();
System.out.println("" + numero1);

Buena suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar