Heim >Backend-Entwicklung >C++ >Wie kann ich eine von einem anderen Prozess gesperrte Datei in C# lesen?

Wie kann ich eine von einem anderen Prozess gesperrte Datei in C# lesen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-16 15:43:09545Durchsuche

How Can I Read a File Locked by Another Process in C#?

Verwenden Sie FileShare.ReadWrite, um gesperrte Dateien zu lesen

Viele Anwendungen stoßen auf Situationen, in denen sie Dateien lesen müssen, die gerade von anderen Prozessen geändert werden. In diesem Fall führt das Öffnen der Datei mit herkömmlichen Methoden häufig zu der Ausnahme „Von einem anderen Prozess verwendet“. Um diese Einschränkung zu überwinden, sollten Sie beim Öffnen der Datei den Parameter FileShare.ReadWrite verwenden. Dieser Parameter gewährt Lese- und Schreibzugriff auf die Datei, sodass andere Prozesse mit dem Schreiben fortfahren können, während Ihr Programm den Inhalt liest.

Das Folgende ist ein Beispiel, das diese Methode in C# demonstriert:

<code class="language-csharp">FileStream logFileStream = new FileStream("c:\test.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
StreamReader logFileReader = new StreamReader(logFileStream);

while (!logFileReader.EndOfStream)
{
    string line = logFileReader.ReadLine();
    // 您的代码在此处
}

// 清理
logFileReader.Close();
logFileStream.Close();</code>

Durch die Verwendung von FileShare.ReadWrite kann Ihr Programm eine schreibgeschützte Verbindung zu einer Datei herstellen und gleichzeitig anderen Prozessen erlauben, die Datei zu ändern. Diese Methode bietet eine praktische Lösung für Anwendungen, die auf häufig aktualisierte Dateien zugreifen müssen.

Das obige ist der detaillierte Inhalt vonWie kann ich eine von einem anderen Prozess gesperrte Datei in C# lesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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