2012-07-14 60 views
3

我创建了FileSystem监视器并注册了2个事件。一个是创造和其他变化。C#文件系统监视器和FIleStream编写器

FileSystemWatcher fswInbound = new FileSystemWatcher(); 
fswInbound.Path = "path to directory"; 
fswInbound.EnableRaisingEvents = true; 
fswInbound.InternalBufferSize = 12288; 
fswInbound.Created += new FileSystemEventHandler(program.FileSystemWatcher_Created); 
fswInbound.Changed += new FileSystemEventHandler(program.FileSystemWatcher_Created); 

与我在同一个程序中动态创建文件并试图写入FileSystem Watcher正在侦听的文件夹中。

using (StreamWriter outfile = new StreamWriter(filename)) 
{ 
     outfile.Write("Some really long string"); 
} 

创建新文件后。 2个事件正在被解雇。一个是为了改变而创造的。我只想要触发文件创建事件。我在第一次创建文件时如何避免文件更改事件?

回答

1

那依MSDN要解决它,我将有一个共同的事件处理程序,它看起来像你,然后我就检查了FileSystemEventArgs检查ChangeType文件创建或更改是由设计。

从上面的链接:

的OnCreated事件一旦被创建的文件提出。如果文件正被复制或传输到监视目录中,则会立即引发OnCreated事件,然后是一个或多个OnChanged事件。