我使用一个程序来获取大量数据,将数据转换为xml文件,然后获取这些xml文件并将其拉链以便在另一个程序中使用。有时,在压缩过程中,会遗漏一个或两个xml文件。这是相当罕见的,一个月一次或两次,但当它确实发生时,它是一个大混乱。我正在寻找帮助,找出文件为什么没有拉链以及如何防止它。这段代码很简单:
.conf
最终,我想要做的是检查在创建zip文件后是否有任何xml文件没有添加到zip中,但在整个过程中停止问题是最好的。谢谢你的帮助。
答案 0 :(得分:0)
确保在try ... catch语句中包含该代码。还要确保如果你已经这样做,你会做一些异常。它不会是第一种具有此类异常处理的情况:
try
{
//...
}
catch { }
如果您的流程有任何例外情况,请考虑上述代码,您将永远不会注意到。
答案 1 :(得分:0)
单从这个功能来判断很难,这里列出了可能出错的事情: - 调用zf.AddFile时(但在Exists测试之后),toCompress文件可能会消失。测试返回值或添加异常处理以检测此情况。 - zip outFile可以低于大小限制,添加新文件可以超过限制。 - 可以同时调用AddToZip(),这可能导致添加失败。
如何处理toCompress文件?我认为在函数范围上添加锁定到AddoZip()可能也是个好主意。
答案 2 :(得分:0)
这可能是一个时间问题。在尝试添加toCompress文件之前,您正在检查outfile是否太大。你应该做的是:
我怀疑你偶尔会有一个刚刚超出限制的outfile,但是添加到Compress会把它放在一边。然后接收程序不会处理outfile,因为它太大了。
我可能完全偏离基础,但需要检查。