Espere hasta que el archivo esté completamente escrito
Cuando se crea un archivo (FileSystemWatcher_Created
) en un directorio lo copio a otro. Pero cuando creo un archivo grande (> 10MB), no se puede copiar el archivo porque ya comenzó a copiarse, cuando el archivo aún no se ha terminado de crear ...
Esto causaNo se puede copiar el archivo, ya que es utilizado por otro proceso ser criado. ;
¿Alguna ayuda?
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();
}
}