Cambiar la codificación de un fichero de texto

2132 vistas

Podemos especificar la codificación usada para leer un flujo. Veamos un ejemplo que lee un fichero en UTF-8 y lo escribe en ISO-8859-1:



java
  1.   public static void toISO(String source, String destination){
  2.       BufferedReader br = null;
  3.       PrintWriter pw = null;
  4.       try{
  5.         // flujo de lectura en UTF-8
  6.         br = new BufferedReader(
  7.               new InputStreamReader(
  8.                     new FileInputStream(source),"UTF-8"));
  9.         // flujo de escritura en ISO (valor por defecto)
  10.         pw = new PrintWriter(new FileOutputStream(destination));
  11.         String linea;
  12.         while((linea = br.readLine())!=null){
  13.             pw.println(linea);
  14.         }
  15.       }catch(Exception e){e.printStackTrace();} 
  16.       finally{
  17.         try { pw.close(); } catch( Throwable e ) {}
  18.         try { br.close(); } catch( Throwable e ) {}
  19.       }
  20.   }