Maison > développement back-end > C++ > Comment puis-je copier efficacement le contenu d'un répertoire en C# ?

Comment puis-je copier efficacement le contenu d'un répertoire en C# ?

Mary-Kate Olsen
Libérer: 2025-01-26 19:46:10
original
314 Les gens l'ont consulté

How Can I Efficiently Copy Directory Contents in C#?

C# copie efficacement le contenu du répertoire

Copier le contenu d'un répertoire entier est une tâche courante dans les applications, il est donc crucial de disposer d'une solution efficace et fiable.

Bien que les classes System.IO en C# autorisent les opérations sur les fichiers et les répertoires, il n'existe aucun moyen direct de copier un répertoire entier sans récursion. Cependant, il existe une manière plus élégante d'utiliser l'assembly Microsoft.VisualBasic.

La méthode CopyDirectory fournie par Microsoft.VisualBasic fournit un moyen efficace d'effectuer une copie de répertoire. Il vous permet de spécifier les dossiers source et de destination et gère l'ensemble du processus. Bien que cette méthode soit suffisante pour les scénarios de base, elle peut être considérée comme une solution de contournement.

L'extrait de code suivant fournit une solution plus complète et plus efficace :

<code class="language-csharp">private static void CopyFilesRecursively(string sourcePath, string targetPath)
{
    //创建所有目录
    foreach (string dirPath in Directory.GetDirectories(sourcePath, "*", SearchOption.AllDirectories))
    {
        Directory.CreateDirectory(dirPath.Replace(sourcePath, targetPath));
    }

    //复制文件并替换现有文件
    foreach (string newPath in Directory.GetFiles(sourcePath, "*.*", SearchOption.AllDirectories))
    {
        File.Copy(newPath, newPath.Replace(sourcePath, targetPath), true);
    }
}</code>
Copier après la connexion

Ce code parcourt récursivement le répertoire source, créant les sous-répertoires nécessaires dans le répertoire cible. Il copie ensuite chaque fichier, en remplaçant tous les fichiers existants par des fichiers du même nom. Cette méthode garantit que l'intégralité du contenu du répertoire est fidèlement copiée, ce qui en fait une solution plus polyvalente et plus fiable que la méthode CopyDirectory.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal