Datei Auslesen, die von anderen Prozess verwendet wird.

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von pc-freack.

    Datei Auslesen, die von anderen Prozess verwendet wird.

    Hallo,

    ich habe folgendes Problem.
    Ich habe eine txt Datei, die von einem anderen Programm verwendet wird. Das ist auch ok, so.
    Nun möchte ich die Datei aber Auslesen, nur Auslesen und nicht Schreiben.
    Doch wenn ich die Datei öffnen möchte, bekomme ich den Fehler, das der ZUgriff auf die
    Datei fehlgeschlagen ist, da sie von einem anderen Prozess verwendet wird.
    Nun möhcte ich aber die Datei trotzdem auslesen. Mit z.B. Notepad++ kann ich die Datei auch trotzdem öffnen.

    Ich habe es nun schon mit einem StreamReader versucht, jede Zeile auszulesen und auch mit IO.File.ReadAllLines aber leider
    funktionieren die Beiden nicht.

    Wie kann ich die Datei aber trotzdem auslesen, ohne den Prozess, der darauf zugreift, zu beenden??

    MfG pc-freack
    Öffne mal die Datei im 1. Prozess mit

    VB.NET-Quellcode

    1. Using fs As New System.IO.FileStream("PATH", System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite)
    2. End Using
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Bernd schrieb:

    versuch mal eine Copy der Datei zu erstellen. Dann erst versuchen zu öffnen.

    vielleicht gehts ja.

    Ich hatte auch schon mehrmals ein solches Problem.
    So wir Bernd sagt, ist es am sinnvollsten umzusetzen - zieh Dir ne Kopie der .txt, lies diese aus und lösche Sie im Anschluss wieder


    Ist deine .txt permanent von diesem anderen Prozess verwendet?

    picoflop schrieb:

    Denis_Class schrieb:

    zieh Dir ne Kopie der .txt

    Um eine Kopie zu erstellen, muss es möglich sein, die Datei mit Leserechten zu öffnen. Wenn das möglich ist, entfällt der Sinn einer "Kopie". Der korrekte Ansatz ist der von Rod

    Hm, das macht schon Sinn was Du sagst, zumindest bin ich auch der Ansicht, aber ich hatte komischerweise in der Vergangenheit schonmal so ein Thema.

    Was mich dann wundert, warum konnte ich mit dem Streamreader die Datei nicht lesen (Error-"...da Sie gerade von einem anderen Prozess..."), aber eine Kopie erstellen ging.
    Hast du ne Ahnung woran das liegen kann?
    @Denis_Class
    Also der Prozess greift ständig auf die Datei zu.

    @RodFromGermany
    Ich kann da nichts umschreiben, das es ein Windows-Prozess ist oder meinst du meine Anwendung?

    Ich werde das mal mit dem kopieren versuchen, wenn ich Glück habe, funktioniert das ja.
    @haiyyu
    Ist mir auch aufgefallen, nachdem du mich drauf hingewisen hast.
    Habe ich garnicht richtig drauf geachtet. xD


    Der Code RodFromGermany hat mir sehr geholfen und nach dem ich es etwas umgeschrieben habe,
    funktioniert nun auch alles.

    Danke.