サンプル

public static void main( String[] args ) {
// デフォルト文字セットが ISO-8859-1 で、UTF-16BE コンテンツを持つファイルであることを前提とします
FileReader fileReader = null;
try {
fileReader = new java.io.FileReader( "file1" ); //$NON-NLS-1$
System.out.println( fileReader.read() );
} catch ( IOException e ) {
e.printStackTrace();
}
}



解決策
自分で文字エンコード方式の値を指定するには、FileInputStream で CharsetDecoder を使用して InputStreamReader を構成します。

public static void main( String[] args ) {
// デフォルト文字セットが ISO-8859-1 で、UTF-16BE コンテンツを持つファイルであることを前提とします
InputStreamReader reader = null;
try {
reader = new InputStreamReader( new FileInputStream("file1"), "UTF-16BE");
System.out.println( reader.read() );
} catch ( IOException e ) {
e.printStackTrace();
}

}