Ir al contenido

Leer un fichero UTF-8

Cuándo accedemos a un fichero tenemos que tener cuidado en su codificación. Como ya vimos al leer un fichero en ISO Latin 1. En este caso vamos a leer un fichero UTF-8.

Hay que tener especial cuidado con la codificación del fichero ya que dependiendo del encoding hay caracteres que se representan de diferente forma, o simplemente que no se representan.

Los pasos para leer el fichero UTF-8 son muy sencillos. Ya que la lectura se hace sobre un BufferedReader, al cual hay que darle un InputStreamReader de entrada.

BufferedReader in = new BufferedReader(new InputStreamReader());

Y será sobre el InputStreamReader donde indiquemos el encoding del fichero. En nuestro caso al ser uft-8 deberemos de utilizar el charset “uft-8”. Quedándonos la siguiente línea de código:

BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("FicheroUTF8.txt"), "utf-8"));

Cabe notar que el origen de lectura, es decir, el fichero, lo indicaremos con un FileInputStream. Ya solo nos quedará recorrer el fichero mediante un bucle:

String sCadena;
while ((sCadena = in.readLine())!=null) {
System.out.println(sCadena);
}

Al trabajar con los encoding hay que tener especial cuidado de controlar la excepción UnsupportedEncodingException para aquellos encodings no soportados. Y al acceder a ficheros la típica excepción IOException.

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Leer un fichero UTF-8

El documento explica cómo leer un fichero UTF-8 en Java utilizando BufferedReader e InputStreamReader.

Descargar código