Ejemplo para crear un archivo en lenguaje java con el IDE Eclipse.
package codificaciondearchivos; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.Writer; public class ReadandWriteCodingFiles { private String file= "/home/archivo.txt"; public void writeFile () throws IOException{ Writer write = null; try { write = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(file),"UTF8")); write.write("Este es un archivo con codificación utf-8\n" + "éste es Beta: ß\n" + "estos son letras con acento: áéíóú"); } catch(Exception e){ e.printStackTrace(); } finally{ write.close(); } } public void readFile () throws IOException{ String stringCadena = ""; new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, true), "UTF8")); BufferedReader in = new BufferedReader (new InputStreamReader (new FileInputStream (file), "utf-8")); try{ while ((stringCadena = in.readLine())!=null) { System.out.println(stringCadena); } } catch (Exception e){ } finally{ in.close(); } } /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { ReadandWriteCodingFiles readandWriteCodingFiles = new ReadandWriteCodingFiles(); readandWriteCodingFiles.writeFile(); readandWriteCodingFiles.readFile(); } }El archivo siguiente es el que será generado, y el formato lo podemos observar al abrirlo con notepad++ que es utf-8.
Y en consola con el método de leer el archivo podemos observar esto de salida.
Es importante darle formato a nuestros archivos ya que en ocasiones podemos tener el IDE configurado para que nos muestre en formato UTF-8 y no notaremos caracteres raros al imprimir en consola pero cuando se usen en algún servidor de versiones por ejemplo SVN con distintos formatos causarán conflicto con otros usuarios que descarguen el proyecto.