VB.NET- und C#-Lösungen für den Zugriff auf Dateien, die von anderen Prozessen gesperrt wurden
Der gleichzeitige Zugriff auf Dateien, die von mehreren Prozessen verwendet werden, führt oft zu der gefürchteten „In-Use“-Ausnahme. Dieses Handbuch bietet zuverlässige Methoden zum Lesen und Ändern von Dateien in VB.NET und C#, selbst wenn sie von anderen Anwendungen gesperrt sind.
Verwendung von FileShare
in VB.NET und C#
Eine einfache Lösung beinhaltet den Parameter FileShare
beim Öffnen von Dateistreams. Die Einstellung FileShare.ReadWrite
signalisiert die Bereitschaft der Anwendung, den Dateizugriff freizugeben.
VB.NET-Beispiel:
<code class="language-vb.net">Dim strContents As String Dim objReader As StreamReader objReader = New StreamReader(FullPath, FileShare.ReadWrite) strContents = objReader.ReadToEnd() objReader.Close()</code>
C#-Beispiel:
<code class="language-csharp">using (var objReader = new StreamReader(FullPath, FileShare.ReadWrite)) { var strContents = objReader.ReadToEnd(); }</code>
Alternativer Ansatz: Einsatz von FileStream
Die FileStream
-Klasse bietet eine differenziertere Kontrolle über den Dateizugriff. Dieses Beispiel demonstriert seine Verwendung:
<code class="language-csharp">using (var logFileStream = new FileStream("c:\test.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (var logFileReader = new StreamReader(logFileStream)) { while (!logFileReader.EndOfStream) { string line = logFileReader.ReadLine(); // Process each line } }</code>
Dieser Code öffnet die Datei mit FileStream
und gibt FileMode.Open
, FileAccess.Read
und FileShare.ReadWrite
an. Ein StreamReader
liest dann effizient den Inhalt der Datei.
Quellenangabe
Der FileStream
Ansatz wurde übernommen von: https://www.php.cn/link/c7876d6b0f9d5461fd3e87c0d1e51e12
Das obige ist der detaillierte Inhalt vonWie kann ich auf Dateien zugreifen, die von anderen Prozessen in VB.NET und C# gesperrt wurden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!