首页 > 解决方案 > 如何确定java8中xml的编码

问题描述

我有一个 XML 文件,我想以编程方式确定其编码。XML 文件存在于设备上,并且 dataFilePath 包含路径。文件中的编码声明说它是 UTF-8,但是当我在记事本 ++ 中检查编码时,文件是 ANSI 编码的。这是我尝试过的

String encoding;
        FileReader reader1 = null;
        XMLStreamReader xmlStreamReader = null;
        reader1 = new FileReader(dataFilePath);
        xmlStreamReader = XMLInputFactory.newInstance().createXMLStreamReader(reader1);
        encoding = xmlStreamReader.getEncoding();
        InputStream inputStream = new FileInputStream(dataFilePath);
        Reader reader =
                new InputStreamReader(inputStream, Charset.forName(encoding));

encoding 始终返回 null 并引发异常

标签: java-8xml-encoding

解决方案


推荐阅读