Ahora que sabemos leer y grabar ficheros, podemos mirar el problema con el que nos podemos encontrar si queremos leer o grabar ficheros que utilicen distintas codificaciones de caracteres.

Para poder leer un fichero e indicar la codificación de caracteres deseada, utilizamos otro filtro:

Utilizar FileInputStream

Y para hacerlo en un fichero de salida, utilizaremos, p. ejemplo

Utilizacion en Java de FileOutputStream

Como podéis imaginar, en FICHERO_ENTRADA y FICHERO_SALIDA son dos Strings con los nombres de fichero, mientras que CODIGO_ENTRADA Y CODIGO_SALIDA son los códigos como UTF-8 o ASCII

Ahora solo nos queda ir leyendo el fichero de entrada y guardar cada línea leída, en el fichero de salida….

A continuación, os dejo un programa en donde lee un fichero codificado UTF-8 y graba un fichero codificado ASCII

Clase cambia codificacion archivo en Java

Algunas notas:

En la línea 24, definimos el objeto out ya que se va a utilizar en distintos scopes

En la línea 25, conseguimos el separador de líneas del sistema operativo actual, para que la grabación en fichero aparezca en registros distintos

De la 27 a la 29, abrimos el fichero de entrada, indicándole la codificación y añadiendo el BufferedReader y de la 31 a la 33, abrimos el de salida, añadiéndole también el BufferedReader

De la 36 a la 42 entramos en un bucle para ir leyendo y grabando cada uno de las líneas leídas a las que tenemos que añadir el fin de línea.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.