Si ya escribimos un fichero en ISO Latin 1, ahora vamos con el encoding UTF-8. Y es que el procedimiento es similar, y solo tendremos que prestar atención al encoding a utilizar.
El encoding utf-8 lo vamos a indicar en el OutputStream. Y es que nuestro stream de datos de salida en Java o OutputStream recibirá el encoding «utf-8» y el fichero dónde escribiremos mediante una instancia de FileOutputStream.
new OutputStreamWriter(new FileOutputStream("FicheroSalidaUTF8.txt"), "utf-8");
Ahora solo necesitaremos un Buffer Java de salida, un BufferedWriter para ir volcandole los datos.
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("FicheroSalidaUTF8.txt"), "utf-8"));
En este tipo de manipulaciones tienes que tener cuidado con las excepciones Java UnsupportedEncodingException e IOException.
Los datos los volcamos con el método .write():
out.write("Esto es un fichero UTF8");
Por último cerraremos el fichero mediante un método .close():
out.close();