Tag: 星界平面

Java读取带有补充unicode字符的字符流

我在使用Java读取补充unicode字符时遇到了麻烦。 我有一个文件可能包含补充集中的字符(任何大于\ uFFFF)。 当我设置我的InputStreamReader以使用UTF-8读取文件时,我希望read()方法为每个补充字符返回一个字符,而不是它似乎在16位阈值上分割。 我看到了一些关于基本unicode字符流的其他问题,但似乎没有什么能处理大于16位的情况。 这是一些简化的示例代码: InputStreamReader input = new InputStreamReader(file, “UTF8”); int nextChar = input.read(); while(nextChar != -1) { … nextChar = input.read(); } 有没有人知道我需要做什么来正确读取包含补充字符的UTF-8编码文件?