当前位置: 首页 > 知识库问答 >
问题:

saxParseException:*valid*XML文件过早结束

阎功
2023-03-14

我对“文件过早结束”感到非常奇怪。我们的一个服务器上最近几天的异常。同样的配置XML在另一台服务器上也能正常工作。我们在这两个服务器上都使用Tomcat5.0.28。这个代码已经工作了很长时间(7+年),只是在最近的服务器崩溃后,我们在其中一个服务器上面临这个问题。XML和Java解析代码没有变化。:(

我能看到的唯一区别是在Java版本中-

private void readSource(final InputSource in ) {
    try {
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        Document doc = db.parse(in);
        Element elt = doc.getDocumentElement();

        this.readElement( elt );
    } catch ( Exception ex ) {
        ex.printStackTrace();
        throw new ConfigurationException( "Unable to parse configuration information", ex );
    }
}
[Fatal Error] :-1:-1: Premature end of file.
org.xml.sax.SAXParseException: Premature end of file.
        at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
        at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
        at com.circus.core.Configuration.readSource(Configuration.java:706)

共有1个答案

花和宜
2023-03-14

这是Java InputStream的一个问题。当读取流时,一旦文件偏移量位置计数器移动到文件末尾。在随后的读取中,通过使用相同的流,您将得到此错误。因此,必须关闭并重新打开流,或者调用inputstream.reset()将偏移量计数器重置到其初始位置。

 类似资料:
  • 问题内容: 我收到非常奇怪的“文件过早结束”。我们的一台服务器上最近几天的异常。在 相同的 XML配置在另一台服务器上的罚款。我们在这两台服务器上都使用Tomcat 5.0.28。这段代码已经使用了7年以上,直到最近的服务器崩溃后,我们才在其中一台服务器上遇到此问题。XML和Java解析代码没有变化。:( 我唯一看到的区别是Java版本- 问题服务器 Java版本“ 1.6.0_16” Java

  • 我目前有以下文件。 http://www.cse.unsw.edu.au/~cs9321/14s1/assignments/musicDb.xml 我的类。 } 我在另一个类中创建了一个对象并调用,但我一直收到上述错误。 有人知道问题出在哪里吗? 谢谢你的帮助。

  • 我正试图基于封送的xml和xslt以及一些问题生成outFile。 这段代码从对象生成xml流。 此方法生成以xml作为输入的输出文件 运行代码时,我得到TransformerExcema: 输入xml和xslt都会在在线工具中产生预期的输出-http://www.utilities-online.info/xsltransformation. 这段代码在控制台中提供了正确的xml文件。 在这个问

  • 问题内容: 我一直在使用JDOM库通过Java Servlet读写XML文件。 问题是,当我使用AJAX向要在XML文件中读写数据的Servlet发送许多请求时,它多次无法显示错误:文件过早结束。如何将所有这些读/写同步到文件,或者是否有其他方法可以防止这些问题?让我知道是否需要更多详细信息。 在这种情况下,使用线程有好处吗? 非常感谢! 问题答案: 两种可能的解决方案是: 将您的文件写入then

  • 我正在用Apache CXF3.16开发一个SOAP客户机。当我执行我的客户机时,wildfly服务器会出现文件过早结束的情况。我需要找出这个截断发生在哪里,所以我使用了fiddler并设置了一个代理来捕捉请求,但是突然错误消失了。谁能解释发生了什么,我应该做什么来解决这个问题与CXF? 没有小提琴手: ID:1地址:http://localhost:8080/iam/im/tews6/sbxd编

  • 以下是我的问题陈述: XYZ学校希望将学生和教职员工的详细信息存储在xml文件中。以下场景有助于设计XML文档。persons将是根标签。每个人都有姓名、年龄、性别、地址的条目。一个人可以是学生也可以是教职员工。学生将有rollno、standard和section。如果是工作人员,则标记和主题。每个人都必须有一个带有以下条目的地址-门牌号、街道、城市和州。 我写的代码如下: ] 它给出了错误-异