Heim > Backend-Entwicklung > C++ > Wie kann ich auf Dateien zugreifen, die von anderen Prozessen in VB.NET und C# gesperrt wurden?

Wie kann ich auf Dateien zugreifen, die von anderen Prozessen in VB.NET und C# gesperrt wurden?

Mary-Kate Olsen
Freigeben: 2025-01-16 15:42:09
Original
431 Leute haben es durchsucht

How Can I Access Files Locked by Other Processes in VB.NET and C#?

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>
Nach dem Login kopieren

C#-Beispiel:

<code class="language-csharp">using (var objReader = new StreamReader(FullPath, FileShare.ReadWrite))
{
    var strContents = objReader.ReadToEnd();
}</code>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage