Zum Inhalt springen

Java Datentyp für mehrere Dateien in einer Datei


Empfohlene Beiträge

Geschrieben

Hey Leute,

ich bin auf der Suche nach einen passenden Datentypen für mein Problemchen, bzw. vielleicht einen Typ in Sachen wie ich das am optimalsten angehen könnte.

Folgendes Szenario:

Ich arbeite grad an einem kleinen Tool für mich, mit welchem ich verschiedene Web-Services abfrage, welche mir XML zurückliefern. Als Datenbasis dient mir je nach Fall entweder MySQL, SQLite oder HSQLDB.

In einem bestimmten Tag steht dann ein Pfad zu einem Bild (Cover). Dieses Bild würde ich gern lokal Speichern, um nicht immer unnötigen Traffic zu erzeugen.

Allerdings möchte ich es vermeiden, dass das Bild in einem Unterordner gespeichert wird. Auch widerstrebt mir, die Datenbank mit so einer primitiven Aufgabe zu belasten.

Am besten wäre mit eine Art Container, in welchem ich die Bilder einfach "reinschmeissen" kann, und in welchem ich dann mittels definierbaren Index von der Platte lesen kann (eine Art Hashmap in Dateiform).

Bin hier für jeden guten Tip dankbar!

Grüße

Tray

Geschrieben

Hey,

ein solcher "Container" nennt sich Unterverzeichnis :floet:

Warum soll es nicht in einem Unterverzeichnis gespeichert werden? Letztendlich hast Du keinen Gewinn dadurch, wenn Du einen filebasierten Container hast (also in Deinem Fall so etwas wie ein Meta-Filesystem) und dort Deine Images ablegst, denn Sie würden ja auch hier wieder auf den Datenträger geschrieben oder von dort gelesen werden.

So long

Geschrieben (bearbeitet)

Da gibts sicher viele Varianten. Spontan würde mir aber dazu die Java-Zip-Library einfallen. Die ist extrem einfach in der Handhabung und dürfte deinen zweck super erfüllen. Wenn du nicht willst, dass jemand in die Datei reinschauen kann dann lass den Dateinamen einfach nicht auf .zip enden und/oder komplementiere die Bytes. Eine weitere Möglichkeit wäre noch XML. Allerdings kanns dann passieren, dass du dir was einfallen lassen musst wie du vermeidest, dass diene Nutzdaten zeichen enthalten, die der Parser intepretieren könnte. Eine Variante wäre da sicherlich die Bytes des bildes in Hex-Chars um zu wandeln. Verbraucht dann aber den doppelten Platz.

Du kannst das ganze auch als KLV (Key,Length,Value) abspeichern. Das heißt du schreibst in die datei z.B.:


Bild.jpg,2365,DIEBYTESDESZUJPGKONVERTIERTENBILDES....

AnderesBild.jpg,4232,DIEBYTESDESZWEITENBILDES....

Da gibts sicher tausend und eine Möglichkeit das zu realisieren. DU kannst dir ja auch selbst noch was völlig neues überlegen.

Bearbeitet von speedi

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...