如何使用Java检查具有编码UTF-16类型的XML文件的良好形成



我已经解析了一个具有编码UTF-8的XML文件。很好解析。

我没有任何更改XML文件中的任何编码类型。

UTF-8的XML标头看起来像:

<?xml version="1.0" encoding="UTF-8"?>

没有上述格式的错误!!!

假设我有另一个文件要检查具有以下标头的良好形成:

<?xml version="1.0" encoding="UTF-16"?>

如何解决此错误?

java xml解析器通常会收到包裹在输入源对象中的输入。这可以用读取器参数构造,该参数可以为给定的Charset进行字符解码。

InputStream in = ...
InputSource is = new InputSource(new InputStreamReader(in, "utf-16"));

对于" UTF-16" charset,流应以字节订单标记开头,如果不是这样,则使用" UTF-16LE"或" UTF-16BE"。

最新更新