ObjectArray Speichern und laden

Status
Nicht offen für weitere Antworten.

kanuddel

Mitglied
hallo, ich habe ein Array vom Typ Fach, also
Java:
 Fach[] faecher
nun wird im laufe des Programms das Array mit objekten vom typ Fach gefüllt... soweit so gut.

Nun möchte ich das ganze in eine Datei speichern und wieder laden können.
Hab das mit FileOutputStream und ObjectOutputStream, sowie die Input-versionen davon versucht zu lösen.
Für das Output sieht das wie folgt aus:
Java:
private static void speichern(){
		try{
			fos_ref = new FileOutputStream (".\\notensave");
			oos_ref = new ObjectOutputStream(fos_ref);
			try {
				oos_ref.writeObject(faecher);
			} //endtry
			catch  (Exception exception_ref) {
				System.out.println("Exception: "+exception_ref.getClass().getName());
			} // endcatch
			oos_ref.close();
			fos_ref.close();
		} //endtry
		catch (Exception exception_ref) {
			System.out.println("Exception: "+exception_ref.getClass().getName());
			System.exit(-1);
		} //endcatch
	} //endmethod speichern
Java gibt mir eine java.io.NotSerializableException aus. Damit kann ich herzlich wenig anfangen. Java erstellt mir aber eine Datei "notensave", in der totaler Kauderwelch steht. Neben lauter sonderzeichen auch texte die ausgegeben wurden (z.b. hauptmenü-teile des Programms) und so..

Muss ich vielleicht jeden Teil des Arrays einzeln übertragen? Also mit ner for schleife erst faecher[0], dann faecher[1] usw? Weil im Momant übertrage ich ja einfach nur "faecher". Aber das was in der Datei steht ist mir zu schleierhaft..

Hat von euch zufällig jemand eine Idee für mich?

Gruß
kanuddel
 

Das AlgoTool

Mitglied
Ich vermute mal, dass deine Klasse Fach das Interface Serializable nicht implementiert. Entsprechend können Objekte dieses Typs nicht in einen ObjectOutputStream geschrieben werden.
 

kanuddel

Mitglied
das ist richtig..
ich hab nun aus
Java:
public class Fach{
// ...
folgendes gemacht:
Java:
import java.io.Serializable;
public class Fach implements Serializable{
// ...
Nun unterstreicht eclipse mir "Fach" und meint, ich brauch ne static final ID ?? aknnst du mir das erklären, was es damit auf sich hat?


Gruß
kanuddel

edit: programm läuft, und in der datei steht nun wesentlich weniger drin...
ob es geklappt hat weiss ich aber noch nciht, da ich erstmal die lade-metode schreiben muss..
 
Zuletzt bearbeitet:

kanuddel

Mitglied
Danke für den link.
ALso meine Fach.class hat mit dem beispiel bestens übereingestimmt:
Java:
import java.io.Serializable;

public class Fach implements Serializable{

	private String name;
	private double note;
	private int cp;

	public Fach(){
		this(null,0,0);
	}
	
	public Fach (String name,double note,int cp){
		this.name = name;
		this.note = note;
		this.cp = cp;
	}

	public void setName(String name){
		this.name = name;
	}
	public void setNote(double note){
		this.note = note;
	}
	public void setCp(int cp){
		this.cp = cp;
	}
	public String getName(){
		return name;
	}
	public double getNote(){
		return note;
	}
	public int getCp(){
		return cp;
	}
}
hier die speichern und laden methoden:
Java:
	static FileOutputStream fos_ref = null;
	static ObjectOutputStream oos_ref = null;
	static FileInputStream fis_ref = null;
	static ObjectInputStream ois_ref = null;
	static Object object_ref;
// ...
// ...
	private static void speichern(){
		try{
			fos_ref = new FileOutputStream (".\\notensave");
			oos_ref = new ObjectOutputStream(fos_ref);
			try {
				oos_ref.writeObject(faecher[0]);
			} //endtry
			catch  (Exception exception_ref) {
				System.out.println("Exception: "+exception_ref.getClass().getName());
			} // endcatch
			oos_ref.close();
			fos_ref.close();
		} //endtry
		catch (Exception exception_ref) {
			System.out.println("Exception: "+exception_ref.getClass().getName());
			System.exit(-1);
		} //endcatch
	} //endmethod speichern
	
	
	private static void laden(){
		try{
			fis_ref = new FileInputStream(".\\notensave");
			ois_ref = new ObjectInputStream(fis_ref);

			object_ref = ois_ref.readObject();
			if(object_ref instanceof Fach[]){
				faecher[0] = (Fach)ois_ref; // Java kann nciht von ObjectInputStream zu Fach casten...
			} 
			ois_ref.close();
			fis_ref.close();
		} //endtry
		catch (Exception exception_ref){
			System.out.println("Exception: "+exception_ref.getClass().getName());
		} //endcatch
	}

hmm... Java kann nicht von ObjectInputStream zu Fach casten... (Zeile 35)
Aber ich habs doch so gemacht wie im beispiel auch? Ich komm nicht drauf :(

Gruß
kanuddel
 

eRaaaa

Top Contributor
??
ois_ref ist doch dein inputstream, nicht das objekt an sich, das heißt doch object_ref ?!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
G JTree speichern und wieder einlesen Java Basics - Anfänger-Themen 5
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
P Wie kann ich beispielsweise Speicherstände eines Spiels DAUERHAFT in meinem Programm speichern? Java Basics - Anfänger-Themen 3
J Objekte in JSON speichern?? Java Basics - Anfänger-Themen 1
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
I Bild richtig speichern / Hochkant im File Explorer, nach Upload vertikal Java Basics - Anfänger-Themen 9
I Objekte in ShareProject speichern um später zu nutzen Java Basics - Anfänger-Themen 4
I Passwort in Datenbank speichern um später wieder auszulesen Java Basics - Anfänger-Themen 5
S mehrere TreeSets so speichern, dass man sie miteinander vergleichen kann Java Basics - Anfänger-Themen 1
I Datei (Bild) Drucken und wie Druckeinstellung speichern? Java Basics - Anfänger-Themen 3
I H2 Datenbank starten / Daten in File speichern Java Basics - Anfänger-Themen 25
M Werte in Felder speichern und geordnet ausgeben Java Basics - Anfänger-Themen 8
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
L Dauerhaftes Speichern einer Eingabe bei einer ArrayList Java Basics - Anfänger-Themen 26
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
T Permanentes speichern von Objekten in einer ArrayList Java Basics - Anfänger-Themen 6
M Mehrere Daten/ Variablen Speichern Java Basics - Anfänger-Themen 9
berserkerdq2 Ich gebe eine ArrayList als List zurück per MEthode, wie kann ich nun aber die ArrayList speichern? Java Basics - Anfänger-Themen 46
I Historisierung - Alter Wert, Neuer Wert... wie speichern? Java Basics - Anfänger-Themen 44
berserkerdq2 Wie datum im default format speichern? Java Basics - Anfänger-Themen 5
M Objekt in einem Objekt speichern Java Basics - Anfänger-Themen 9
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
f3mys Objektwerte in Liste speichern und wieder abrufen Java Basics - Anfänger-Themen 23
I Liste von Infos von einer eigenen Annotation in Liste speichern Java Basics - Anfänger-Themen 0
U Wie ein Attribut von einer Klassenmethode in der Klasse speichern= Java Basics - Anfänger-Themen 2
B Screenshots machen und zwar viele und speichern Java Basics - Anfänger-Themen 12
C XML Datei speichern und laden Java Basics - Anfänger-Themen 18
Marlena Bauer Konsolenausgabe in .txt speichern Java Basics - Anfänger-Themen 6
B JaxB - Property vom Typ Object und LocalDateTime speichern? Java Basics - Anfänger-Themen 0
ansystin Teilerfremde Zahlen ausgeben + Zahlenausgabe speichern Java Basics - Anfänger-Themen 3
J Wert in einer json Datei ändern und speichern Java Basics - Anfänger-Themen 3
C File speichern Java Basics - Anfänger-Themen 5
D String und char in String speichern Java Basics - Anfänger-Themen 5
J Alle .java Dateien von einem Verzeichnis in eine Zip speichern Java Basics - Anfänger-Themen 2
I Werte (u.a. Geldbeträge) in Datenbank speichern und Rundungen? Java Basics - Anfänger-Themen 8
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
H Daten aus einer Datei in eine Liste speichern Java Basics - Anfänger-Themen 23
B JaxB - speichern vom Typ "Object" Java Basics - Anfänger-Themen 8
GermanPie Nachrichten Speichern Java Basics - Anfänger-Themen 2
M Objekte in Array speichern und ausgeben Java Basics - Anfänger-Themen 17
C Wo Defaultpfad speichern? Java Basics - Anfänger-Themen 2
M Integer aus aus einer Klasse in andere speichern Java Basics - Anfänger-Themen 12
Dimax stream in string[] speichern Java Basics - Anfänger-Themen 6
H Liste speichern. Was lässt sich verbessern? Java Basics - Anfänger-Themen 7
C Fehler beim Speichern (Build projekt) Java Basics - Anfänger-Themen 42
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
D Input/Output Input von zwei Koordinaten validieren und anschließend Werte speichern Java Basics - Anfänger-Themen 7
N Speichern von Werten in Variablen nach Schließen des Programms Java Basics - Anfänger-Themen 3
G Problem beim Speichern von Objekten in einer Datei Java Basics - Anfänger-Themen 7
I ArrayList - Methode zum Speichern eines Eintrags in einer Datei Java Basics - Anfänger-Themen 17
H Objekt im Array speichern Java Basics - Anfänger-Themen 2
H Objekt als Attribut speichern Java Basics - Anfänger-Themen 11
B Text-Datei nur in Stream speichern und dann ausgeben Java Basics - Anfänger-Themen 3
M JTextField in ArrayList speichern Java Basics - Anfänger-Themen 4
L Nur Bestimmte Werte aus einem Array in ein anderes Speichern Java Basics - Anfänger-Themen 11
S Zweidimensionales Array in ein eindimensionales Array speichern Java Basics - Anfänger-Themen 6
A Wie zwei zahlen in einer Variable speichern? Java Basics - Anfänger-Themen 7
C ResultSet in Array speichern Java Basics - Anfänger-Themen 5
S Byte-Array kann chars speichern? Java Basics - Anfänger-Themen 3
J Kann man files in einer Klasse speichern. Java Basics - Anfänger-Themen 2
B Infos zu Attribute in einer Klasse speichern Java Basics - Anfänger-Themen 3
M Input/Output JTextField Eingabe in String Variable speichern Java Basics - Anfänger-Themen 15
A Kann man eine Methode als Variable speichern und danach noch verändern? Java Basics - Anfänger-Themen 6
D Werte aus einem BinärBaum in einem Array speichern Java Basics - Anfänger-Themen 1
I Datei in Programm speichern Java Basics - Anfänger-Themen 3
A .txt-Datei mit Java speichern Java Basics - Anfänger-Themen 2
M Speichern unter. Java Basics - Anfänger-Themen 11
S Java Daten in Excel speichern Java Basics - Anfänger-Themen 1
S Daten speichern, ohne Datenbank Java Basics - Anfänger-Themen 8
L Objekt aus Textdatei in ArrayList speichern Java Basics - Anfänger-Themen 4
L Kommandozeileneinträge in Array speichern Java Basics - Anfänger-Themen 4
B HTML Code in XML speichern Java Basics - Anfänger-Themen 3
G Benutzereingaben durch Zeilenumbruch trennen und in Array individueller Größe speichern Java Basics - Anfänger-Themen 20
G JTextField per Button speichern und an andere Klasse übergeben Java Basics - Anfänger-Themen 2
Shallty Daten speichern und ändern? Java Basics - Anfänger-Themen 32
R Objekte aus Array als String + kommasepariert speichern Java Basics - Anfänger-Themen 12
N Best Practice Rückgabe eines Terminal Befehls in eine Variable speichern Java Basics - Anfänger-Themen 27
B XML in DB speichern -> Regelkonzept Java Basics - Anfänger-Themen 2
T Daten von Objekten speichern Java Basics - Anfänger-Themen 7
A Einträge aus Tupeln nach Regeln in Liste speichern Java Basics - Anfänger-Themen 8
void19 Methoden Binärbaum Inorder Traversierung in Array speichern Java Basics - Anfänger-Themen 1
X TextField-Inhalt mit Button in .txt-Datei speichern Java Basics - Anfänger-Themen 16
C Methoden Problem beim Speichern von Variablen Java Basics - Anfänger-Themen 1
J Geld speichern und wieder auslesen Java Basics - Anfänger-Themen 10
K Geburtsdaten von Mehreren Personen speichern und Alter ausgeben Java Basics - Anfänger-Themen 11
F Beste Datenstruktur zum Speichern? Java Basics - Anfänger-Themen 1
Dimax Programme ,als Text in MySql speichern Java Basics - Anfänger-Themen 7
C Erste Schritte ArrayIndexOutOfBoundsException beim Speichern im Array Java Basics - Anfänger-Themen 2
D Datei auslesen & Werte in Variable speichern Java Basics - Anfänger-Themen 12
D Erste Schritte Projekt in Ecplise in einer .zip Datei speichern Java Basics - Anfänger-Themen 8
L Speichern und Laden Java Basics - Anfänger-Themen 7
I Projekt als .jar Datei speichern - Bilder werden nicht mehr angezeigt Java Basics - Anfänger-Themen 4
H MouseListener begrenzen und Speichern Java Basics - Anfänger-Themen 1
M Wie kann ich im JAVA-GUI im Textfeld ein Array speichern Java Basics - Anfänger-Themen 4
N Veränderungen dauerhaft speichern Java Basics - Anfänger-Themen 3
M Int und Double in Array speichern Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben