Komplettes Array Files() as folderitem speichern

Hallo, an alle Spezialisten
Gibt es Möglichkeiten ein Array Files() as Folderitem auf Festplatte zu speichern?
Das Ganze natürlich auch wieder zurück in ein Array().

Ich habe sehr viele Bild,- und Video,-Dateien auf einen Server. Diese auszulesen dauern im ewig.
Auch mit einer Textdatei wie z.B.:
Zeile=f.ShellPath+ EndOfLine
Var S as TextInputStream=TextInputStream.Open(f)
a=S.ReadAll
s.close
FileArray=a.ToArray(EndOfLine)
kein grosser Erfolg.

Geht das überhaupt? Oder Lohnt sich das nicht, weil es auch zu langsam ist?

Ich bin gespannt
Micha D.

Hallo Michael, kann aus Deiner Beschreibung heraus noch nicht verstehen, wie dieses Array genutzt werden soll. Kannst Du hierzu etwas mehr sagen?

Hallo Torsten,
schön, dass Du dich meldest!
Ich nutze den IKImagebrowser. Hier lade ich komplette Ordner mit Bilder und Videos.
Da das Neuladen sehr zeitaufwendig ist, importiere ich die Pfade und weitere Exit-Daten in einer SQLite-Datenbank. Ferner speichere ich selbsterstellte Thumbnails in einen festen Ordner. (Bei einer Abfrage werden nur die Thumbnails eingeladen. Das geht sehr fix)

Da ich schon sehr lange an der App arbeite und mir immer etwas neues einfällt, fange ich immer wieder bei Null an.

Ich möchte das Neu-einladen etwas flotter machen. Wenn z.B. ein File(Array) vorhanden ist, war meine Idee, dieses Array einfach abzuspeichern.

Wo ist denn das Problem? Wieviele Dateien hast Du? Warum verwendest Du nicht Deine SQLite-Datenbank?

Hallo Beatrix!
Ja das tue ich. Habe auch schon versucht die Thumbs in meiner DB reinzupacken.
Leider werden die Abfragen schwerfällige.

Dateien habe ich mehr als genug. Ich bin jetzt 71 und habe nur gesammelt.
Auf viele Festplatten verteilt. Alle Dateien befinden sich in einem Ordner des Servers.
So weit so gut. Aber diese auszulesen kostet Zeit, viel Zeit :wink:

Mit meiner App bin ich noch nicht zufrieden.

OK, war auch nur so eine Idee!

Einfach mal so ins Unreine gedacht: wie wäre es mit einer sqlite Datenbank pro Ordner?

In der Datenbank werden dann die wichtigsten Infos zu den Bildern im Ordner und ein kleines(!) Thumbnail abgespeichert.
Deine App verbindet sich dann bei Auswahl des Ordners mit dieser Datenbank (die sollte natürlich immer den gleichen Namen haben) und stellt die Inhalte dar.

Dadurch das jeder Ordner eine eigene Datenbank hat bleibt die jeweilige Datenbank relativ klein und schnell und kann mit erträglichem Aufwand aktualisiert werden…

Hallo Thomas
Die Idee hatte ich auch, ich hatte die DB direkt im Server-Ordner. Darin wurden die Daten importiert. Leider lief es nicht so, wie ich mir das vorstellte.

Deine Idee ist sehr gut, jetzt generiere ich die DB in meiner App und kopiere den DB-Ordner einfach in den Quellordner.
Danke für den guten Tip

Du kannst die Datenbank auch direkt im Ordner erzeugen, das spart den Schritt mit dem Kopieren. Einfach prüfen, ob der Ordner bereits eine Datenbankdatei enthält und wenn nicht, dann eine neu anlegen.

Was die Geschwindigkeit angeht: was ist denn das für ein Server? Lokales NAS-System oder Server im Internet? Wie schnell ist der angebunden? Was für einen Datendurchsatz liefert der - bei der Größenordnung an Bildern sind da ja wahrscheinlich große HDDs verbaut?

Hallo Michael,

willst Du nur die Dateien (die Pfade) eines Ordners speichern? Dein Code, den Du gepostet hast, macht ja was anderes, er liest den Dateiinhalt. Das passt nicht so ganz zum Thread-Titel.

Ansonsten ist das Speichern der Pfade ja auch nur dazu da, zunächst einen schnelleren Zugriff auf die Dateien zu erhalten. Ob eine Datei gelöscht wurde, lässt sich anhand gespeicherter Pfade schnell prüfen. Aber Du müsstest ja trotzdem das komplette Verzeichnis scannen, um neue Dateien zu erkennen und die Datenbank aktuell zu halten. Das könnte dann im Hintergrund passieren.

Hi Leute!
Ich glaube, dass ich eine ganz andere Lösung gefunden habe.
Ich habe ein Virtuelles Image erstellt.
Diese Image habe ich jeweilen Ordner kopiert und darin. sind alle wichtigen Daten (Sqlite und Thumbs)
Ich bin noch fleissig am Testen, aber es sieht sehr gut aus.
Ich bin erstmal gespannt.