2016-01-22 28 views
0

这里是一个场景: 我将文件复制到文件夹 ,我期望它被其他程序占用。X文件夹中的文件

是有办法监控文件存在文件夹中

我想提高的情况下,该文件夹中在X时间事件的时间

请指教一下我可以使用实现这一

我想到使用文件系统观察和节省时间的它创造 如果X时间

+0

https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher(v=vs.110).aspx可以帮助你 –

+2

[固定链接]( https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396)@ un-lucky发布。 – krillgar

+1

如果您已经尝试使用'FileSystemWatcher',您能否向我们展示您的代码,并解释您仍然存在的任何特定问题? –

回答

0

如果您只关心超时时间,那么只需在复制后检查它。例如。使用Timer

var timer = Timer(5000); 
timer.Elapsed += (s, a) => 
{ 
    // checking if file is still there 
    if(File.Exists(...) 
    { 
     // do something 
    } 
} 
timer.Start(); 
+0

经过一番调查后,似乎这个解决方案是最相关的。更正确的方法,只需检查X时间后文件是否存在,谢谢! –

0

后的文件是否存在取决于你需要如何精确是比较,你可能只是有一个过程每隔一段时间检查文件夹的内容,并让您知道文件夹中已存在的文件太长的文件。

0

要列出目录中的文件,您可以使用Directory.GetFiles,如下所示。 然后遍历所有检查文件时间的文件。

string[] files = System.IO.Directory.GetFiles("c:\temp", "*.txt", System.IO.SearchOption.TopDirectoryOnly); 
    foreach(string file in files) 
    { 
     if (System.DateTime.UtcNow.Subtract(System.IO.File.GetCreationTimeUtc(file)).TotalMinutes > 5) 
      System.Diagnostics.Debug.WriteLine("TODO: Alert, file older than 5 minutes..."); 
    } 
相关问题