Comment copier un fichier en C# sans bloquer un thread ?
Réponses
Trop de publicités?Voici une méthode de copie de fichier asynchrone qui donne au système d’exploitation des indices que nous lisons et écrivons séquentiellement, afin qu’il puisse pré-récupérer des données sur la lecture et avoir des choses prêtes pour l’écriture:
Vous pouvez également tester la taille de la mémoire tampon. Voici 4096 octets.
Bien qu’il y ait certaines circonstances que vous voudriez éviter ,
fonctionnera. Cela vaut la peine d’être considéré car lorsqu’un fichier est simplement déplacé dans le même disque / volume, il s’agit d’une opération presque instantanée, car les en-têtes sont modifiés mais le contenu du fichier n’est pas déplacé. Les différentes méthodes asynchrones « pures » copient invariablement le flux, même lorsqu’il n’est pas nécessaire de le faire, et peuvent donc être un peu plus lentes dans la pratique.