我有一个应用程序,它适用于将xml文件转换为csv的调度程序。 如果在处理xml文件时出错,则xml文件将转移到另一个无效文件夹。 问题是,有时会有大型xml文件被转换为转换并且在传输完成之前 我的调度程序应用程序拒绝该文件,因为它将文件视为无效文件并将其传输到无效文件夹。 事实是xml文件还没有准备好转换为csv,但我的应用程序曾经看到xml文件,它试图将其转换为csv并拒绝它。 有没有办法检查xml文件是否准备好了?或者仍在被转移?
这是我尝试的解决方案:(正在测试)
long fileSize = 0;
currentFile = new FileInfo(path);
while (fileSize < currentFile.Length)//check size is stable or increased
{
fileSize = currentFile.Length;//get current size
System.Threading.Thread.Sleep(500);//wait a moment for processing copy
currentFile.Refresh();//refresh length value
}
然后我继续转换xml文件
答案 0 :(得分:1)
您可以多次检查xml文件大小。如果返回几个相同的结果,您可以考虑该文件已完全转移。
答案 1 :(得分:0)
您可以使用线程执行xml传输操作。这样你就可以检查线程是否完成了。 完成后,您可以进行转换过程