Eine sehr große textbasierte Datei durchsuchen?
Hallo Delphianer,
mein erstes Thema und ich habe folgende Frage. Aber vorher kurz zu mir: Delphi hatte ich mal vor vielen Jahren in der Schule, seit dem habe ich mit Delphi kaum was gemacht. Und nun zu meiner Frage: Ich möchte eine sehr große textbasierte Datei durchsuchen, nämlich eine GEDCOM-Datei (https://de.wikipedia.org/wiki/GEDCOM). Diese ist ca. 1GB groß und ich glaube diese kann ich nicht wie eine KB-große Datei einfach so in den RAM laden. Was gibt es für Techniken, um mit großen Dateien zu arbeiten, und vorallem relativ schnell? Gruß Johann |
AW: Eine sehr große textbasierte Datei durchsuchen?
Hi,
als ersten Schritt würde ich mir mal TFileStream bzw. TStream anschauen. Damit kannst du eine Datei häppchenweise verarbeiten, ohne sie komplett in den RAM zu laden. |
AW: Eine sehr große textbasierte Datei durchsuchen?
Lade die Datei in ein System.Classes.TFileStream-Objekt. Mit den Methoden Seek und Read solltest Du für den Fall, daß Du nur bestimmte Eintragungen suchst dann ganz passabel zum Ziel kommen. Falls du den kompletten Dateiinhalt in Pascal-Objekte Umwandeln möchtest, mußt du halt von Anfang bis Ende auslesen, dazu reicht ja ein wiederholtes Read.
Sherlock |
AW: Eine sehr große textbasierte Datei durchsuchen?
OT:
1 GB große GEDCOM Datei? Wieviele Personen sind denn darin? :shock: |
AW: Eine sehr große textbasierte Datei durchsuchen?
Zitat:
|
AW: Eine sehr große textbasierte Datei durchsuchen?
Ist das ein Textbackup der Datenbank von FamilySearch?
Ein einzelner Mensch kann ja unmöglich soviele Daten zusammentragen. |
AW: Eine sehr große textbasierte Datei durchsuchen?
Zitat:
|
AW: Eine sehr große textbasierte Datei durchsuchen?
Die alten Dateifunktionen ala ReadLn funktionieren immernoch, auch über 2GB hinaus, wenn man ausschließlich sequentiell liest.
Also falls dir "schnell" egal ist und es auch ruhig langsamer und einfach sein darf. Es gibt hier auch mehrere Komponenten zu finden, welche die Datei stückchenweise in den Speicher laden können. [DP]große Textdateien[/DP] |
AW: Eine sehr große textbasierte Datei durchsuchen?
Ja, es geht nur ums Lesen, mehr nicht. Ok, ich schaue mal was sich besser umsetzen lässt, TFileStream oder ReadLn. Und vielen Dank erst mal!
|
AW: Eine sehr große textbasierte Datei durchsuchen?
Zitat:
Ich kenne bspw. die Ahnengemeinschaft aus Sachsen, aber die haben nur 179013 Personen im Stammbaum und es arbeiten 476 Menschen daran mit. https://www.myheritage.de/site-10990...ft-aus-sachsen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz