gpt4 book ai didi

java - SAX异常 : Unexpected end of file after null

转载 作者:行者123 更新时间:2023-11-29 08:19:43 25 4
gpt4 key购买 nike

在解析大量 XML 文件的过程中,我偶尔会在标题中收到错误。

文件本身看起来没问题,并且在生成错误的相同文件上再次运行该过程工作正常。

异常发生在调用 XMLReader.parse(InputStream is)

这可能是解析器中的错误(我使用 piccolo )?还是关于我如何打开文件流?

不涉及多线程。

Piccolo 当时看起来是个好主意,但我真的没有理由使用它。我将尝试切换到默认的 SAX 解析器,看看是否有帮助。

更新:它没有帮助,我发现 Piccolo 对于某些工作负载来说要快得多,所以我回去了。

最佳答案

我可能应该告诉这个故事的结尾:这是一个愚蠢的错误。有两个进程:一个生成 XML 文件,另一个读取它们。阅读器只是扫描目录并尝试处理它看到的每个新文件。

每隔一段时间,读取器会在生产者完成写入之前检测到一个文件,因此它合理地引发了“意外文件结束”的异常。因为我们在这里谈论的是小文件,所以这个事件非常罕见。当我来检查时,生产者已经完成了文件的写入,所以对我来说,解析器似乎在提示什么。

我写了“不涉及多线程”。显然这是非常误导的。

一种解决方案是将文件写入其他位置,仅在完成后才将其移动到受监控的文件夹中。更好的解决方案是使用适当的消息队列。

关于java - SAX异常 : Unexpected end of file after null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1072653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com