Java读取和写入XML数据文件时出现“文件过早结束”错误

时间:2009-04-02 04:43:06

标签: java xml servlets

我一直在使用JDOM库通过Java Servlets读写XML文件。

问题是当我使用AJAX向我的servlet发送许多请求时,这些请求会在XML文件中读写数据,很多时候它会显示错误:文件过早结束。如何将所有这些读/写同步到文件中,还是有其他方法可以防止出现这些问题?如果需要更多详细信息,请与我们联系。

在这种情况下,使用线程会有什么好处吗?

非常感谢!

4 个答案:

答案 0 :(得分:6)

两种可能的解决方案是:

  • 将您的文件写入thename.xml.part,然后一旦完成/关闭重命名为thename.xml,这使得写入更接近原子 - 读者无法读取它直到它确实完成只要它只是在寻找“.xml”文件。
  • 或者,使用数据库,原子性就是他们所做的。

答案 1 :(得分:0)

我遇到过这种问题,但确实不一样。我正在分享我对此错误的经验。对于给您带来的任何不便,我们深表歉意。

我遇到了以下问题

  1. 我必须使用动态变量数据形成一个xml文件。并在java中通过PostMethod将该xml发布到URL。

  2. 通常它有效。但是当动态变量数据为空时。然后它显示“文件过早结束”。

  3. <强>解决方案:

    1. 检查变量是否为null。它对我有用。

答案 2 :(得分:0)

尝试将所有写入请求添加到进程队列,然后通过队列的这些元素构建/附加XML。

答案 3 :(得分:-2)

我也遇到过这个问题。我的经验是......

  1. 清洁项目
  2. 重建项目
  3. 然后它会成功运行....