Maison > développement back-end > C++ > Comment puis-je lire et écrire simultanément dans un fichier en C# ?

Comment puis-je lire et écrire simultanément dans un fichier en C# ?

Patricia Arquette
Libérer: 2025-01-06 06:45:41
original
290 Les gens l'ont consulté

How Can I Simultaneously Read and Write to a File in C#?

Lire et écrire simultanément dans un fichier en C#

Lorsque vous travaillez avec des fichiers, il est courant de rencontrer le besoin de lire et d'écrire dans un fichier. Cependant, l'extrait de code suivant tente de le faire mais échoue :

static void Main(string[] args)
{
    StreamReader sr = new StreamReader(@"C:\words.txt");
    StreamWriter sw = new StreamWriter(@"C:\words.txt");
}
Copier après la connexion

Ce code échouera car il utilise des flux distincts pour la lecture et l'écriture, ce qui n'est pas autorisé pour le même fichier sans spécifier explicitement des flux pour les deux. opérations et gestion des verrous.

Pour lire et écrire simultanément dans un fichier, vous devez utiliser un seul flux ouvert à la fois en lecture et en écriture. Ceci peut être réalisé en utilisant la classe FileStream :

FileStream fileStream = new FileStream(
      @"c:\words.txt", FileMode.OpenOrCreate, 
      FileAccess.ReadWrite, FileShare.None);
Copier après la connexion

Le paramètre FileMode.OpenOrCreate spécifie que le fichier doit être ouvert ou créé s'il n'existe pas.

Le paramètre FileAccess.ReadWrite spécifie que le fichier doit être ouvert à la fois en lecture et en écriture.

Le paramètre FileShare.None spécifie qu'aucun autre processus ne doit être autorisé à lire ou à écrire le fichier pendant qu'il est ouvert.

Une fois que vous avez créé le FileStream, vous pouvez l'utiliser pour lire et écrire dans le fichier en utilisant respectivement les méthodes Read() et Write().

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