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.
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.