我无法在目录中获取最新数量的文件。这些文件正在从PDFCreator打印并发送到该文件夹。当文件夹中的文件数与正在打印的文件数相匹配时,它应该中断并继续我的代码。问题是计数没有保持uptodate,我不知道如何刷新它。这是我的代码:
System.IO.DirectoryInfo pdf = new System.IO.DirectoryInfo(@"C:\0TeklaBatchProcess\pdf");
int count = pdf.GetFiles().Length;
while (count != DE.GetSize())
{
if (count < DE.GetSize())
{
pdf.Refresh();
}
else
{
break;
}
}
如果有人可以告诉我如何刷新或更新文件数量,我会非常感激。
答案 0 :(得分:5)
count
是本地int
- 更新的唯一方法是再次查询它。尝试将pdf.Refresh()
替换为:
count = pdf.GetFiles().Length;
(实际上,Directory.GetFiles(di.FullName).Length
可能更便宜)
然而! 不想要在紧密的循环中执行此操作;可能会添加Sleep(1000)
或(更好)使用FileSystemWatcher
。更好的是;检查特定的文件,这样就不会积极地点击GetFiles()
。