Ir al contenido

Convertir un fichero ISO en UTF-8

Apoyándonos en los ejemplos que nos enseñaban a generar ficheros en ISO y a generar ficheros en UTF-8, así como en los que leian de un fichero en ISO y leian un fichero en UTF-8 vamos a construir un código que nos permita hacer la conversión. Es decir, convertir un fichero ISO en un fichero UFT-8.

Para convertir un fichero ISO en UTF-8, la idea es muy sencilla, lo que tendremos que hacer es abrir un stream de lectura sobre un fichero ISO y un stream de escritura sobre un fichero UTF-8.

Para realizar la escritura del fichero ISO utilizamos un BufferedReader sobre un InputStreamReader. Será en el InputStreamReader dónde indicaremos la codificación del fichero a leer. La codificación “8859_1” es la que representa el ISO. El código será el siguiente:

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("fichero.txt"),"8859_1"));

La apertura del stream de escritura será muy similar, pero en este caso utilizando un BufferedWriter y un OutputStreamWriter. Al igual que en la anterior línea de código, es el OutputStreamWriter con el que indicamos la codificación. Esta será utf-8.

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("ficheroutf8.txt"),"utf-8"));

Ya solo nos queda ir leyendo del BufferedReader y volcando sobre el BufferedWriter.

String linea;
while ((linea=br.readLine())!=null){
bw.write(linea);
bw.newLine();
}

El último paso de nuestro código de conversión es el cierre de los ficheros.

br.close();
bw.close();

Con una lectura/escritura y teniendo en cuenta las codificaciones de los ficheros, hemos conseguido, de una forma sencilla, convertir un fichero ISO en UTF-8.

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 Convertir un fichero ISO en UTF-8

Utilizar el lenguaje de programación Java para convertir un fichero ISO en UTF-8.

Descargar código