Arbeiten mit Dateien, auf die andere Anwendungen zugreifen
Der Versuch, auf eine Datei zuzugreifen, in die gerade von einer anderen Anwendung geschrieben wird, führt häufig zu der Fehlermeldung „Zugriff verweigert“. Dieser Leitfaden zeigt eine Lösung mit VB.NET und C# zur Bewältigung dieser Situation.
Sowohl VB.NET als auch C# bieten Methoden zum Öffnen von Dateien mit gemeinsamem Zugriff. Durch den Einsatz von FileShare.ReadWrite
können mehrere Programme gleichzeitig auf dieselbe Datei zugreifen.
So implementieren Sie dies:
VB.NET-Beispiel:
<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>
C#-Beispiel:
<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>
Die using
-Anweisung (oder der try-finally
-Block) ist entscheidend, um eine ordnungsgemäße Ressourcenbereinigung und Freigabe des Dateihandles sicherzustellen. Dies beugt potenziellen Konflikten vor und sorgt für ein effizientes Ressourcenmanagement.
Das obige ist der detaillierte Inhalt vonWie kann ich auf eine Datei zugreifen, die von einem anderen Prozess in VB.NET und C# verwendet wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!