Grosse Textdatei in einen String einlesen

Bild

Betrifft: Grosse Textdatei in einen String einlesen
von: Reinhard
Geschrieben am: 11.10.2003 16:38:00

Hallo Wissende,
mit nachstehendem Code erzeuge ich eine Ascii-Datei mit ca.1,9MB Zeichen
mit
Dim Zeile as String
open "dateiname" for input as #1
while not eof(1)
input #1, Zeile
...
kann ich sie einlesen aber wegen der 200.000 Dateizugriffe dauert das ewig.
Nun ist String(feste Länge) mit maximal ca. 65.400 Bytes beschrieben aber
String(variable Länge) mit 0 bis 2 Milliarden.
Nun meine Frage, wie lese ich auf einen Rutsch eine Datei in einen String (variabler Länge) ein?
Dim weglassen? was sagt dann option explicit, außerdem habe ich es nicht geschafft, dies mit binary, random len=usw.
Gruß
Reinhard


Sub erzeugen()
Open "c:\temp\riesig.txt" For Output As #1
For n = 1 To 200000
    Print #1, n
Next n
Close
End Sub

Bild


Betrifft: AW: Grosse Textdatei in einen String einlesen
von: Ramses
Geschrieben am: 11.10.2003 16:51:28

Hallo Reinhard

probier mal das

http://www.office.gmxhome.de/_excel_vba_externe_daten.htm#Sub%20Read_Extern_File()

Das habe ich 3 Beiträge weiter unten ebenfalls schon gepostet.
Das einlesen von 148000 Datensätzen dauert bei mir ca. 6 Sekunden,... ist das schnell genug?

Gruss Rainer


Bild


Betrifft: Klasse Seite, aber
von: Reinhard
Geschrieben am: 11.10.2003 17:18:05

Hallo Rainer,
ui, fällt grad Tor für Deutschland *gg*
Die Seite ist gut und sehr sehr selbsterklärend, ideal für jemand der das
Einlesen üben/verstehen möchte.
Auf den ersten Blick fand ich auch für mich was Neues, bisher scheiterte ich immer
mit Dim Anzahl(len(Datei)), aber ich sah jetzt es geht wohl mit Redim, muss mir das mal in Ruhe reinziehen.
Wenn ich die Subs korrekt verstanden habe, geschieht das eigentliche Einlesen immer noch durch
input #1, Zeile
so oft wie Zeilen da sind.
Mit meinem Anfangsposting wollte ich ja herasubekommen, wie ich eine beliebig (max 2 Milliarden Zeichen wegen variabler Stringdefinition) große Datei
in einen einzigen String auf einmal einlesen kann und wie ich einen String als variabel
bezüglich der Länge deklariere um dieses zu ermöglichen.
Danke dir
Reinhard



 Bild

Beiträge aus den Excel-Beispielen zum Thema " Grosse Textdatei in einen String einlesen"