Si aprendiste a leer un fichero con un enconding ISO Latin 1, ahora vamos a ver cómo podemos escribir un fichero ISO Latin 1 con Java.
El punto en el que hay que especificar el encoding es con la clase OutputStreamWriter. Y es que la clase OutputStreamWriter recibe el fichero al que queremos escribir y el encoding con el que escribimos.
OutputStreamWriter(new FileOutputStream("FicheroSalidaISO1.txt"), "8859_1")
Como vemos el fichero al que escribimos lo instanciamos mediante FileOutputStream. Y el encoding utilizado para escribir un fichero ISO Latin 1 es «8859_1».
Solo nos quedará apoyarnos en un Buffer, en concreto en un BufferedWriter para enviar el texto al fichero.
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("FicheroSalidaISO1.txt"), "8859_1"));
Una vez que hemos abierto el BufferedWriter, empezamos a ejecutar sentencias de escritura mediante el método .write().
out.write("Esto es un fichero ISO Latin 1");
Por último tenemos que cerrar el stream sobre el fichero. Para esto nos apoyamos en el método .close().
out.close();
Si vemos el código completo veremos que hay que controlar las excepciones UnsupportedEncodingException e IOException.
try {
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("FicheroSalidaISO1.txt"), "8859_1"));
out.write("Esto es un fichero ISO Latin 1");
out.close();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Con pocas líneas hemos escrito un fichero ISO Latin 1.