![]() |
Textdatei auslesen - braucht zu viel Speicher?
Hallo!
ich habe eine Normale Textdatei wo in jeder Zeile ein wort steht. diese lese ich mit Assignfile usw aus. dann habe ich ein:
Delphi-Quellcode:
ich mache also in der schleife (while not eof) jeweils ein:
TListe = array of String;
Delphi-Quellcode:
die DAtei ist 4 MB groß (ungepackt)
Setlength(Liste, length(Liste)+1);
Liste[High(Liste)] := s (aktuelle zeile) und ich brauche 1, sehr sehr lange das auszulesen und 2. bruacht das ganze mehrere Hundert MB Arbeitsspeicher (und ist noch nicht mal sonderlich weit. mich würde interessierern warum? die DAtei hat doch nur 4 mb? Bsp: ein wörterbuch bei openoffice ist genauso aufgebaut - und die laden ja auch nicht stundenlang am anfang die wörterbuch Datei in den Arbeitsspeicher. Wie kann man das geschickt lösen um später z.B. ein bestimmtes wort zu suchen? ohne 4 gb ram zu haben und einen langen ladeprozess? danke, Daniel |
Re: Textdatei auslesen - braucht zu viel Speicher?
Tritt der selbe Effekt auf, wenn du das ganze mit LoadFromFile in ne TStringList liest?
|
Re: Textdatei auslesen - braucht zu viel Speicher?
Delphi-Quellcode:
Nicht eher so ?
Setlength(Liste, length(Liste)+1);
Liste[Zählvariable] := s (aktuelle zeile) |
Re: Textdatei auslesen - braucht zu viel Speicher?
Bei dem Dynamischen Array läuft das IMHO so:
Jedesmal wenn du die Länge erhöhst legt er dieses Array jedesmal neu im Speicher anlegt, den alten wert reinkopiert... Wenn du das nun zeile für Zeile machst, könnte das dann der der grund sein, vielleicht solltest du erst die Länge bestimmen und dann die werte reintun... Jedenfalls wenn ich mich nicht irre... Bye |
Re: Textdatei auslesen - braucht zu viel Speicher?
Zitat:
Das mit der Stringlist probier ich schnell |
Re: Textdatei auslesen - braucht zu viel Speicher?
Zitat:
|
Re: Textdatei auslesen - braucht zu viel Speicher?
Wie gesagt, ich bin mir mit dieser Aussage nich wirklich sicher, bei Strings.
Zitat:
Vorrausgesetzt, es ist keine Datei im Unicode-Format... Bye |
Re: Textdatei auslesen - braucht zu viel Speicher?
Zitat:
|
Re: Textdatei auslesen - braucht zu viel Speicher?
Zitat:
auf jeden fall Danke - werde das Array von vornherein festlegen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz