Heim > Backend-Entwicklung > C++ > Wie kann ich eine Datei lesen, die von einem anderen Programm verwendet wird?

Wie kann ich eine Datei lesen, die von einem anderen Programm verwendet wird?

Barbara Streisand
Freigeben: 2025-01-16 15:53:12
Original
362 Leute haben es durchsucht

How Can I Read a File in Use by Another Program?

Gleichzeitiger Zugriff auf Dateien

Das Lesen einer Datei, in die gerade von einem anderen Programm geschrieben wird, stellt eine einzigartige Herausforderung dar. Standardmethoden zum Lesen von Dateien schlagen häufig fehl und lösen Ausnahmen aus, die auf den Sperrstatus der Datei hinweisen.

Lösungen für gleichzeitigen Dateizugriff

Um eine solche Datei erfolgreich zu lesen, benötigen Sie eine Strategie, die gleichzeitigen Zugriff ermöglicht. Eine gängige Lösung besteht darin, die Datei in einem Modus zu öffnen, der sowohl Lesen als auch Schreiben ermöglicht.

Implementierung in C#/.NET

Der folgende C#-Codeausschnitt demonstriert diesen Ansatz mit FileStream und StreamReader:

<code class="language-csharp">using System;
using System.IO;

namespace ConcurrentFileReader
{
    class Program
    {
        static void Main(string[] args)
        {
            string filePath = "c:\test.txt";

            // Open the file for reading and writing concurrently
            FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
            StreamReader reader = new StreamReader(fileStream);

            // Read and process the file line by line
            while (!reader.EndOfStream)
            {
                string line = reader.ReadLine();
                // Process the line
                Console.WriteLine(line);
            }

            // Close resources
            reader.Close();
            fileStream.Close();
        }
    }
}</code>
Nach dem Login kopieren

Der Schlüssel ist FileShare.ReadWrite. Dadurch wird sichergestellt, dass die Datei in einem gemeinsamen Modus geöffnet wird, sodass gleichzeitige Lese- und Schreibvorgänge ohne Unterbrechung möglich sind. Das Programm kann nun den Inhalt der Datei lesen, während ein anderer Prozess weiterhin darauf schreibt. Beachten Sie, dass die gelesenen Daten je nach Aktivität des Schreibvorgangs möglicherweise unvollständig sind oder zu einem bestimmten Zeitpunkt nur einen Teil des Dateiinhalts widerspiegeln.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Datei lesen, die von einem anderen Programm verwendet wird?. 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