Convertir un fichero ISO en UTF-8

14/Ene/2012 Java , , , , 1 Comentario

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:

  1. BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("FicheroISO1.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.

  1. Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("FicheroSalidaUTF8"), "utf-8"));

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

  1. String sCadena;
  2. while ((sCadena = in.readLine())!=null) {
  3. System.out.println(sCadena);
  4. out.write(sCadena);
  5. }

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

  1. in.close();
  2. out.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.

Vídeos sobre Java-IO


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*