
El escenario es el siguiente: tenemos un fichero de texto, desarrollado en codificación UTF-8, que debemos leer en nuestro sistema.
El contenido del fichero es el siguiente:
abcdefghijklmnñopqrstuvwxyz
áéíóú
pingüino
Para realizar la lectura, ejecutamos el siguiente código:
package javahispano;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
public class Main {
private static final String FILE = "pruebasEncodingJava7_UTF8.txt";
private static final String PATH = "/home/jaimecl/Documentos/pruebas/";
private static final String UTF_8 = "UTF-8";
private static final String ISO_8859_1 = "ISO-8859-1";
public static void main(String args[]) {
/* Obtenemos el fichero */
Path file = Paths.get(PATH, FILE);
try {
/*
* Leemos todas las líneas del mismo en con encoding ISO_8859_1 y
* mostramos la información por pantalla
*/
Charset charsetISO88591 = Charset.forName(ISO_8859_1);
System.out.println("\nLeyendo el fichero con encoding "
+ ISO_8859_1 + "\n");
List linesISO88591 = Files.readAllLines(file,
charsetISO88591);
for (String lineISO88591 : linesISO88591) {
System.out.println(lineISO88591);
}
/* Análogo al punto anterior, con encoding UTF_8 */
Charset charsetUTF8 = Charset.forName(UTF_8);
System.out.println("\nLeyendo el fichero con encoding " + UTF_8
+ "....\n");
List linesUTF8 = Files.readAllLines(file, charsetUTF8);
for (String lineUTF8 : linesUTF8) {
System.out.println(lineUTF8);
}
} catch (IOException e) {
System.out.println(e);
}
}
}
}
¿Cuál es la salida del mismo?
Leyendo el fichero con encoding ISO-8859-1
abcdefghijklmnñopqrstuvwxyz
áéÃóú
pingüino
Leyendo el fichero con encoding UTF-8....
abcdefghijklmnñopqrstuvwxyz
áéíóú
pingüino
Como podemos ver, esta característica puede ser de mucha utilidad en estos casos. ¡A tener en cuenta, developers!