English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Fichiers et dossiers C#

C# fournit les classes suivantes pour le système de fichiers. Elles peuvent être utilisées pour accéder aux répertoires, aux fichiers, ouvrir des fichiers pour lecture ou écriture, créer de nouveaux fichiers ou déplacer des fichiers d'un emplacement à un autre, etc.

Nom de la classeUtilisation
FileFile est une classe statique qui fournit différentes fonctionnalités, telles que la copie, la création, le déplacement, la suppression, l'ouverture pour lecture ou écriture, le chiffrement ou le déchiffrement, la vérification de l'existence du fichier, l'ajout de lignes ou de texte dans le contenu du fichier, l'obtention de la date de dernière consultation, etc.
FileInfoLa classe FileInfo fournit les mêmes fonctionnalités que la classe File statique. En écrivant manuellement le code pour lire ou écrire des octets dans le fichier, vous pouvez mieux contrôler la lecture et l'écriture sur le fichier./Opérations d'écriture.
DirectoryLe répertoire est une classe statique qui fournit des fonctionnalités pour créer, déplacer, supprimer et accéder aux sous-répertoires.  
DirectoryInfoDirectoryInfo fournit des méthodes d'instance pour créer, déplacer, supprimer et accéder aux sous-répertoires.  
PathPath est une classe statique qui fournit certaines fonctionnalités, telles que la récupération de l'extension de fichier, le changement de l'extension de fichier, la récupération du chemin physique absolu et d'autres fonctionnalités liées aux chemins.

Fichier(File)

C# contient la classe statique File, utilisée pour exécuter i/o Opérations. La classe statique File inclut diverses méthodes utiles qui peuvent interagir avec n'importe quel type de fichier physique (comme les fichiers binaires, les fichiers texte, etc.).

Utilisez cette classe statique File pour effectuer des opérations rapides sur les fichiers physiques. Pour des raisons de performance, il n'est pas recommandé d'utiliser la classe File pour plusieurs opérations sur plusieurs fichiers. Dans ce cas, utilisez la classe FileInfo.

Méthodes importantes de la classe statique File

MéthodeUtilisation
AppendAllLinesAjouter une ligne au fichier puis fermer le fichier. Si le fichier spécifié n'existe pas, cette méthode créera un fichier, écrira la ligne spécifiée dans ce fichier, puis fermera le fichier.
AppendAllTextOuvrir un fichier, ajouter la chaîne spécifiée à ce fichier puis fermer le fichier. Si le fichier n'existe pas, cette méthode créera un fichier, écrira la chaîne spécifiée dans ce fichier, puis fermera le fichier.
AppendTextCréer un StreamWriter qui ajoutera UTF-8Ajouter le texte codé à un fichier existant, ou si le fichier spécifié n'existe pas, ajouter à un nouveau fichier.
CopyCopier le fichier existant dans un nouveau fichier. Il n'est pas permis de couvrir des fichiers homonymes.
CreateCréer ou écraser un fichier à l'emplacement spécifié.
CreateTextCréer ou ouvrir un fichier pour écrire en UTF-8Fichier de texte codé.
DécripterDéchiffrez le fichier crypté par l'Encrypt méthode avec le compte actuel.
DeleteSupprimez le fichier spécifié.
EncryptCryptez le fichier afin que seules les comptes utilisés pour crypter le fichier puissent le déchiffrer.
ExistsDéterminez si le fichier spécifié existe.
GetAccessControlObtenez un objet FileSecurity qui encapsule les entrées de la liste de contrôle d'accès (ACL) du fichier spécifié.
MoveDéplacez le fichier spécifié vers une nouvelle position et fournissez l'option de nouveau nom de fichier spécifié.
OpenOuvrez avec lecture/Ouvrez un FileStream sur le chemin spécifié avec des permissions d'écriture.
ReadAllBytesOuvrez un fichier binaire, lisez le contenu du fichier dans un tableau de bytes, puis fermez le fichier.
ReadAllLinesOuvrez un fichier texte, lisez toutes les lignes du fichier, puis fermez le fichier.
ReadAllTextOuvrez un fichier texte, lisez toutes les lignes du fichier, puis fermez le fichier.
ReplaceRemplacez le contenu du fichier spécifié par le contenu d'un autre fichier, supprimez le fichier original et créez une sauvegarde du fichier de remplacement.
WriteAllBytesCréez un nouveau fichier, écrivez l'ensemble de bytes spécifié dans ce fichier, puis fermez le fichier. Si le fichier cible existe déjà, le remplacer.
WriteAllLinesCréez un nouveau fichier, écrivez le jeu de chaînes spécifié dans ce fichier, puis fermez le fichier.
WriteAllTextCréez un nouveau fichier, écrivez la chaîne spécifiée dans ce fichier, puis fermez le fichier. Si le fichier cible existe déjà, le remplacer.

Ajouter des lignes de texte

Utilisez la méthode AppendAllLines () pour ajouter du texte en plusieurs lignes à un fichier spécifique, comme suit.

string dummyLines = "C'est la première ligne."; + Environment.NewLine +
                    "C'est la deuxième ligne." + Environment.NewLine +
                    "C'est la troisième ligne.";
//Ouvrez DummyFile.txt et ajoutez des lignes. Si le fichier n'existe pas, le créer et l'ouvrir.
File.AppendAllLines(@"C:\DummyFile.txt", dummyLines.Split(Environment.NewLine.ToCharArray()).ToList<string>());

Ajouter une chaîne

Utilisez la méthode File.AppendAllText () pour ajouter une chaîne de caractères à une ligne de code dans un fichier, comme suit.

//Ouvrez DummyFile.txt et ajoutez du texte. Si le fichier n'existe pas, le créer et l'ouvrir.
File.AppendAllText(@"C:\ DummyFile.txt", "This is File testing");

Écraser le texte

UtiliserFile.WriteAllText()La méthode écrit du texte dans le fichier. Notez que cela ne rajoute pas de texte, mais écrase le texte existant.

    Exemple : Écraser le texte existant

//Ouvrir DummyFile.txt et écrire du texte. Si le fichier n'existe pas, il est créé et ouvert.
File.WriteAllText(@"C:\DummyFile.txt", "This is dummy text");

L'exemple suivant montre comment utiliser la classe File statique pour exécuter différentes opérations.

//Vérifier si le fichier existe à un emplacement spécifique
bool isFileExists = File.Exists(@"C:\ DummyFile.txt"); // Retourner faux
//Copier DummyFile.txt en nouveau fichier DummyFileNew.txt
File.Copy(@"C:\DummyFile.txt", @"D:\NewDummyFile.txt");
//Obtenir le temps de la dernière accès au fichier 
DateTime lastAccessTime = File.GetLastAccessTime(@"C:\DummyFile.txt");
//Obtenir le temps de la dernière écriture du fichier
DateTime lastWriteTime = File.GetLastWriteTime(@"C:\DummyFile.txt");
// Déplacer le fichier vers une nouvelle position
File.Move(@"C:\DummyFile.txt", @"D:\DummyFile.txt");
//Ouvrir le fichier et renvoyer un FileStream pour lire des octets à partir du fichier
FileStream fs = File.Open(@"D:\DummyFile.txt", FileMode.OpenOrCreate);
//Ouvrir le fichier et renvoyer un StreamReader pour lire des chaînes de caractères à partir du fichier
StreamReader sr = File.OpenText(@"D:\DummyFile.txt");
    
//Supprimer le fichier
File.Delete(@"C:\DummyFile.txt");

Il est facile de gérer les fichiers physiques en utilisant la classe File statique. Cependant, si vous souhaitez plus de flexibilité, vous pouvez utiliser la classe FileInfo. De même, utilisez la classe Directory statique pour gérer les répertoires physiques.

Points à retenir à se souvenir

  1. File est une classe statique, qui peut lire/écrire des fichiers physiques avec un code plus court.

  2. La classe File statique fournit des fonctionnalités telles que la création, la lecture/écriture, la copie, le déplacement, la suppression de fichiers physiques.

  3. La classe Directory statique fournit des fonctionnalités telles que la création, la copie, le déplacement, la suppression de répertoires physiques avec un code plus court.

  4. Les classes FileInfo et DirectoryInfo fournissent des fonctionnalités similaires à celles des classes statiques File et Directory.