Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.