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"); }
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);
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!