示例

public static void main( String[] args ) {
// Assume default charset ISO-8859-1 and file with UTF-16BE content
FileReader fileReader = null;
try {
fileReader = new java.io.FileReader( "file1" ); //$NON-NLS-1$
System.out.println( fileReader.read() );
} catch ( IOException e ) {
e.printStackTrace();
}
}



解决方案
要自行指定字符编码值,请使用 CharsetDecoder 在 FileInputStream 上构造一个 InputStreamReader。

public static void main( String[] args ) {
// Assume default charset ISO-8859-1 and file with UTF-16BE content
InputStreamReader reader = null;
try {
reader = new InputStreamReader( new FileInputStream("file1"), "UTF-16BE");
System.out.println( reader.read() );
} catch ( IOException e ) {
e.printStackTrace();
}

}