Travailler avec des fichiers accessibles par d'autres applications
Tenter d'accéder à un fichier en cours d'écriture par une autre application entraîne souvent une erreur « accès refusé ». Ce guide présente une solution utilisant VB.NET et C# pour gérer cette situation.
VB.NET et C# proposent tous deux des méthodes pour ouvrir des fichiers avec un accès partagé. En employant FileShare.ReadWrite
, plusieurs programmes peuvent accéder simultanément au même fichier.
Voici comment mettre en œuvre cela :
Exemple VB.NET :
<code class="language-vb.net">Using logFileStream = New FileStream("c:\test.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite) Using logFileReader = New StreamReader(logFileStream) While Not logFileReader.EndOfStream Dim line As String = logFileReader.ReadLine() ' Process each line of the file here End While End Using End Using</code>
Exemple C# :
<code class="language-csharp">// Open the file with shared read/write access using (FileStream logFileStream = new FileStream("c:\test.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (StreamReader logFileReader = new StreamReader(logFileStream)) { // Read and process the file while (!logFileReader.EndOfStream) { string line = logFileReader.ReadLine(); // Process each line of the file here } }</code>
L'instruction using
(ou le bloc try-finally
) est cruciale pour garantir un nettoyage correct des ressources et la libération du descripteur de fichier. Cela évite les conflits potentiels et garantit une gestion efficace des ressources.
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!