2

我无法在目录中获取最新数量的文件。文件正在从 PDFCreator 打印并发送到该文件夹​​。当文件夹中的文件数量与正在打印的文件数量相匹配时,它应该会中断并继续我的代码。问题是计数没有保持最新,我不知道如何刷新它。这是我的代码:

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;
    }
}

如果有人能告诉我如何刷新或更新文件数量,我将不胜感激。

4

1 回答 1

5

count是本地int的 - 更新的唯一方法是再次查询它。尝试替换pdf.Refresh()为:

count = pdf.GetFiles().Length;

(实际上,Directory.GetFiles(di.FullName).Length可能更便宜)

然而!您不想在一个紧密的循环中执行此操作;也许添加一个Sleep(1000), 或(更好)使用FileSystemWatcher. 更好的是;检查特定文件,以免您GetFiles()过分攻击。

于 2010-12-09T12:45:44.500 回答