Przykład

public static void main( String[] args) {
// Przyjęto założenie, że domyślny zestaw znaków to ISO-8859-1, a treść pliku jest zapisana przy użyciu kodowania UTF-16BE
FileReader fileReader = null;
try {
fileReader = new java.io.FileReader( "plik1" ); //$NON-NLS-1$
System.out.println( fileReader.read() );
} catch ( IOException e ) {
e.printStackTrace();
}
}



Rozwiązanie
Aby samodzielnie określić wartości kodowania znaków, należy utworzyć obiekt InputStreamReader z dekoderem CharsetDecoder dla strumienia FileInputStream.

public static void main( String[] args) {
// Przyjęto założenie, że domyślny zestaw znaków to ISO-8859-1, a treść pliku jest zapisana przy użyciu kodowania UTF-16BE
InputStreamReader reader = null;
try {
reader = new InputStreamReader( new FileInputStream("plik1"), "UTF-16BE");
System.out.println( reader.read() );
} catch ( IOException e ) {
e.printStackTrace();
}

}