Aguarde até que o arquivo esteja completamente escrito
Quando um arquivo é criado (FileSystemWatcher_Created
) em um diretório eu copio para outro. Mas quando eu crio um arquivo grande (> 10MB) ele não copia o arquivo, porque ele já começa a copiar, quando o arquivo ainda não está finalizado ...
Isso causaNão é possível copiar o arquivo porque ele é usado por outro processo ser levantado. ; (
Qualquer ajuda?
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();
}
}