zeile in sehr grosses Textfile einfügen

Shout

Mitglied
Hi Zusammen

Ich hab folgendes Problem:
Ich muss in ein Textfile mit etwa 500'000 Zeilen eine Header-Zeile einfügen.
Das klappt zwar ohne grosse Probleme wenn ich das File auslese, und danach wieder neu schreibe, aber das auslesen dauert einfach viel zu lange. Gibt es keine schnellere Möglichkeit zuoberst im File eine Zeile anzufügen? Wenn sie am Schluss des Files stehen müsste, wär das ja kein Problem, dann könnte ich das File ja im Append-Modus öffnen. Aber da die Zeile zuoberst im File stehen muss, weis ich keinen anderen weg, als das ganze File zuerst auszulesen und dann wieder neu zu schreiben.

Hat von euch jemand eine Idee wie ich das ganze schneller lösen kann?

Vielen Dank
 
Hi Shout,

ich weis zwar nicht ob es dann schneller geht, aber das kannst Du ja mal probieren. Ich würde die Headerzeile in eine eigene Datei schreiben, und dann die Headerdatei und die eigentliche Contentdatei zusammenkopieren.

Hier mal ein quick and dirty code
Code:
    Dim nFileHandle                         As Integer
    Dim szCommand                           As String
    Dim szFile1                             As String
    Dim szFile2                             As String
    Dim szFile3                             As String
    Dim szFile4                             As String


    szFile1 = "D:\Temp\header.txt"
    szFile2 = "D:\Temp\content.txt"
    szFile3 = "D:\Temp\together.txt"
    szFile4 = "D:\Temp\batch.bat"

    nFileHandle = FreeFile
    Open szFile1 For Output As #nFileHandle
    Print #nFileHandle, "Name, Vorname, Straße, Telefon"
    Close #nFileHandle

    nFileHandle = FreeFile
    Open szFile2 For Output As #nFileHandle
    Print #nFileHandle, "Und hier steht dann der Content"
    Close #nFileHandle

    nFileHandle = FreeFile
    Open szFile4 For Output As #nFileHandle
    Print #nFileHandle, "copy /b " & szFile1 & " + " & szFile2 & " " & szFile3
    Close #nFileHandle

    Shell szFile4

gruß
Das Orakel
 
Zurück