Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi zusammen.

Ich habe ein Programm, bei welchem der User eine lokale Bild-Datei als auswählen kann. Dieses Bild stellt ein Attribut einer selbstgeschriebenen Klasse dar.

Meine Frage: Wie kann ich nun Objekte dieser Klasse als lokale Datei speichern. Also so, dass das ausgewählte Bild mit in der Datei gespeichert wird.

Hintergrund ist, dass die gespeicherte Datei dann auf einem anderen Rechner geladen wird, und dort das Original-Bild nicht zwangsläufig vorhanden ist.

Gruß

Die Lady

Geschrieben

Letztendlich wird es sich um das Interface "Serilizable" handeln Serializable (Java 2 Platform SE v1.4.2)

Du kannst das Bild einlesen in Deine Klasse und diese dann serialisieren. Sofern alle Deine Properties ebenfalls das Interface Serializable implementieren geht das ohne Probleme.

Da Bilder aber mitunter recht groß werden und Du bei Änderungen am Objekt Du dieses jedes Mal neu übertragen musst, wäre es zu überlegen, ob Du eben auf andere Protokolle ausweichst, die den Datentransfer für Dich realisieren. Das würde heißen, dass Dein Objekt nur eine ID auf das Bild enthält und das serialisierte Objekt übertragen wird, beim Deserialisations-Prozess würdest Du dann z.B. über SMB / FTP / SCP (o.ä.) dann die Daten laden und temporär speichern.

Aber Du schilderst leider nicht das gesamte Problem, so dass man hier eher ein bisschen raten muss. Wichtig ist dabei immer die Frage, was musst Du wirklich an Daten übertragen (maximal) und wie oft musst Du das machen. Es wäre z.B. nicht sinnvoll, wenn Du ein Bild per Broadcast alle paar Sekunden ins Netz schickst

Phil

Geschrieben

Habe es mittlerweile ausprobiert. Generell ist es kein Problem, mittels eines objectoutputstreams die bilder mit in die Objekt-Datei zu schreiben. Hierbei ist aber zu beachten, dass die Klasse Image nicht das Interface Serializable implementiert. Wer also einmal vor dem gleichen problem steht, der sollte das Attribut der eigenen Klasse auf ImageIcon setzen. Da ImageIcon einen Konstruktor mit einem Image anbietet, muss auch nicht all zu viel am QT geändert werden. Altermnativ dazu kann man natürlich auch von Image erben und dabei Serializable implementieren

Und bezüglich der Netzwerk-Performance: Das sollte kein Problem darstellen, da diese Dateiübertragung nur einmal pro Monat ausgeführt werden muss, und da auch nur eine selektierte Menge von Objekten.

Aber danke für die Hilfe

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...