Подождите, пока файл не будет полностью записан

Когда файл создается ( FileSystemWatcher_Created) в одном каталоге я скопируй его на другой. Но когда я создаю большой (> 10 МБ) файл, он не может скопировать файл, потому что он уже начинает копирование, когда файл еще не закончен...
Это приводит к тому, что Невозможно скопировать файл, так как он используется другим процессом, который нужно запустить. ;(
Любая помощь?

class Program
{
    static void Main(string[] args)
    {
        string path = @"D:\levan\FolderListenerTest\ListenedFolder";
        FileSystemWatcher listener; 
        listener = new FileSystemWatcher(path);
        listener.Created += new FileSystemEventHandler(listener_Created);
        listener.EnableRaisingEvents = true;

        while (Console.ReadLine() != "exit") ;
    }

    public static void listener_Created(object sender, FileSystemEventArgs e)
    {
        Console.WriteLine
                (
                    "File Created:\n"
                   + "ChangeType: " + e.ChangeType
                   + "\nName: " + e.Name
                   + "\nFullPath: " + e.FullPath
                );
        File.Copy(e.FullPath, @"D:\levan\FolderListenerTest\CopiedFilesFolder\" + e.Name);
        Console.Read();
    }
}
65
задан levi 17 February 2016 в 07:53
поделиться