当前位置: 首页 > 面试题库 >

为什么org.apache.xerces.parsers.SAXParser不跳过utf8编码的xml中的BOM?

凤伟泽
2023-03-14
问题内容

我有一个utf8编码的xml。并且此文件包含BOM表文件的开头。因此,在解析期间,我面临org.xml.sax.SAXParseException:序言中不允许内容。我无法从文件中删除这3个字节。我无法将文件加载到内存中并在此处删除它们(文件很大)。因此,出于性能原因,我正在使用SAX解析器,并且只想跳过这3个字节(如果它们位于“”标记之前)。我应该为此继承InputStreamReader吗?

我是Java的新手-请向我展示正确的方法


问题答案:

这是以前发生的,当我想到堆栈溢出时,我就找到了答案。链接的答案使用a
PushbackInputStream来测试BOM。



 类似资料:
  • 问题内容: Scanner kb = new Scanner(System.in); System.out.println(“Inserting L”); int L = kb.nextInt(); System.out.println(“Inserting N”); int N = kb.nextInt(); System.out.println(“Inserting x”); String x

  • 我想我的程序跳过了while循环,但我真的不确定到底发生了什么。该函数应该通过找到GCD,然后将分子和分母除以该数字来减少分数。 我得到分子和分母的绝对值,以确保如果分数是负数,我会在最后保持它。如果分子为0,则要求我返回(0,1)。问题是关于while循环。。。似乎它被完全跳过了。有什么建议吗?

  • 问题内容: 我通过xmlrpc从我的一个客户那里获得的字符串有问题。他给我发送了两次编码的utf8字符串:(因此,当我在python中获取它们时,我有一个unicode对象,该对象必须再解码一次,但显然python不允许这样做。我注意到我的客户端但是我需要在修复之前先进行快速解决。 来自tcp转储的原始字符串: 它将转换为: 我们得到的最好的是: 结果是正确的字符串,它是: 但是,这很丑陋,不能在

  • 在尝试让Liberty容器工作时,我遇到了以下问题。 对于数据库连接,我在server.xml中有一个像这样的AuthData部分: 当我试图用未编码的密码运行服务器时,数据库连接按预期工作,但是当密码被编码时,我得到这条消息:连接被拒绝(连接被拒绝)。错误代码=-4499,SQL State = 08001 dsra 0010 e:SQL State = 08001,错误代码=-4499 在设置

  • 我有这样一个csv文件 我在读书

  • 我尝试用我的JAVA servlets将WE8MSWIN1252编码中的一些文本转换为UTF8。 最好的问候。 R.