Comment à la fois lire et écrire un fichier en C #

Je veux à la fois lire et écrire dans un fichier. Cela ne fonctionne pas.

static void Main(ssortingng[] args) { StreamReader sr = new StreamReader(@"C:\words.txt"); StreamWriter sw = new StreamWriter(@"C:\words.txt"); } 

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

Vous avez besoin d’un seul stream, ouvert à la fois pour la lecture et l’écriture.

 FileStream fileStream = new FileStream( @"c:\words.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None); 

N’oubliez pas l’itinéraire facile:

  static void Main(ssortingng[] args) { var text = File.ReadAllText(@"C:\words.txt"); File.WriteAllText(@"C:\words.txt", text + "DERP"); } 
 var fs = File.Open("file.name", FileMode.OpenOrCreate, FileAccess.ReadWrite); var sw = new StreamWriter(fs); var sr = new StreamReader(fs); ... fs.Close(); //or sw.Close(); 

L’essentiel est d’ouvrir le fichier avec l’indicateur FileAccess.ReadWrite. Vous pouvez ensuite créer n’importe quel Stream / Ssortingng / Binary Reader / Writers dont vous avez besoin en utilisant le FileStream initial.

Ce fil semble répondre à votre question: simultanée-read-write-a-file

En gros, vous devez déclarer deux fichiers FileStream, l’un pour les opérations de lecture, l’autre pour les opérations d’écriture. Writer Filestream doit ouvrir votre fichier en mode “Ajouter”.