Verzeichnisstruktur in Datei zusammenfügen und in VB.net nutzen.

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Bluespide.

    Verzeichnisstruktur in Datei zusammenfügen und in VB.net nutzen.

    Moin,
    bei einem Programm das ich grade schreibe werden große Mengen (300k+) an kleinen Bitmaps (Tiles) benötigt, die vom Programm dynamisch nachgeladen werden müssen. Die Bitmaps sind in einer Verzeichnisstruktur abgelegt um sie zu verwalten. Diese zu kopieren oder zu bewegen ist echt nervig.

    Ich stehe da grade etwas auf dem Schlauch:
    Gibt es eine effiziente Möglichkeit, diese Verzeichnisstruktur zu einer Datei zusammenzufügen und die darin enthaltenen Daten schnell in ein VB.net Programm einzulesen?

    Danke im voraus.
    Was heißt denn eine Verzeichnisstruktur zu einer Datei zusammenfügen?
    Also eine xml-artige Auflistung der Ordner?
    So was widerum einlesen, nennt sich Deserialisierung. Ich schätze diese Datei zu erstellen willst du nicht von Hand machen, geht also Hand in Hand mit einer zuvorigen Serialisierung.

    Haste mal ein Beispiel was du genau möchtest?
    Was ist der Zweck danach?

    Manus schrieb:

    bei einem Programm das ich grade schreibe werden große Mengen (300k+) an kleinen Bitmaps (Tiles) benötigt,


    MapTiles? Dann lass es wie es ist, denn die sind aus gutem Grund mit so einem Schema abgelegt(X/Y/Z). Zusammenfügen? 300K+ Bitmaps zu einem? Das wirds nichts. Bei 300K Bildchen werden es wohl MapTiles sein, die kannste alle in einen Ordner packen, das würde gehen, musst sie aber passend benennen, so da man die Tiles noch zuordner kann.

    Sollten es wirklich MapTiles sein, lass das speichern bleiben, ausser es muss Offline funktionieren. Setz lieber einen Mapnik Server auf und lass dir die Tiles ausspielen.Wenn du die Mapnik-Serverdaten regelmässig updatest, hast du immer die aktuellen Daten und so muss auch nicht immer Stundenlang gerendert werden.
    Zitat von mir 2023:
    Was interessiert mich Rechtschreibung? Der Compiler wird meckern wenn nötig :D

    Haudruferzappeltnoch schrieb:

    So was widerum einlesen, nennt sich Deserialisierung.


    Nicht ganz. Deserialisierung ist nur, dass das Format in einfür das Programm verständliche Format gebracht wird. Aus den Daten nützliche Informationen holen wäre Parsen.

    Ansonsten hat @DTF schon recht. Vielleicht mit der Ausnahme, dass du die Dateien (und Ordner) in ein Tar-Archiv packen könntest (nicht komprimiert). Tar kann sehr gut mit Ordnern, unterschiedlich großen Dateien und Datei-Metainformationen umgehen.
    Hier gibt's ein Beispiel für .net7+.

    Die Dateien kannst du dann mit relativ wenig Overhead weiter einlesen.
    Quellcode lizensiert unter CC by SA 2.0 (Creative Commons Share-Alike)

    Meine Firma: Procyon Systems

    Selbstständiger Softwareentwickler & IT-Techniker.

    Manus schrieb:

    Gibt es eine effiziente Möglichkeit, diese Verzeichnisstruktur zu einer Datei zusammenzufügen und die darin enthaltenen Daten schnell in ein VB.net Programm einzulesen?

    Kommt bisschen darauf an, wie du die Daten verwenden willst. Brauchst du z.B. nur eine Liste der Pfade? Dann recht ja eine List<string> die du wegschreibst und wieder liest. Brauchst du jeden Unterordner separat in einer hierarchisch Struktur, ist das etwas anderes.