Fehler beim Speichern

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo,

In meiner Anwendung kann der Benutzer ein Struktogramm und den dzugehoerigen Algorithmus erstellen. Das Struktogramm kann in meinem eigenen Format gespeichert werden (simple Serializierung einer Linkedlist). Das funktioniert auch. Aber jetzt kommt mein Problem: Der Algorithmus kann zur Laufzeit ausgefuehrt werden, danach ist das Speichern aber nicht mehr moeglich, dann kommt folgende Fehlermeldung:
Java.io.NotSerializablException: java.io.PrintWriter
Leider erhalte ich keine Quelle, wo der Fehler auftaucht (halt innerhalb der Speichermethode).
Kann mir jemand helfen, heraus zu finden, woran der Bug liegt?

Danke an jeden, der sich durch den Quellcode arbeitet.

Hier zunaechst der Quellcode fuer das Speichern:
Code:
	  //Speichern der LinkedList, wenn noch kein Name eingeben, dann speichern unter aufrufen
	  public boolean structDateiSpeichern() 
	  {
		  if(aktDateiname==null)
		  {
			  return structDateiSpeichernUnter();
		  }

		  try 
		  {
		  		//Datei erstellent
				File datei = new File(aktDateiname);
				aktDateiname = datei.getName();
				StructX.getAktivFenster().getStruktogramm().setName(aktDateiname);
				String pfad=datei.getPath();
				//Liste zum Speichern erstellen
				LinkedList outList=new LinkedList();
				//für Übernahme Algorithmus und Standardeinstellung vermerken
				StructX.getAktivFenster().getStruktogramm().getRootObject().setAlgorithmus(StructX.getAktivFenster().getAlgorithmus());
				StructX.getAktivFenster().getStruktogramm().getRootObject().setStdRoot(StructX.getAktivFenster().getStruktogramm().getSetStd());

				//als erstes RootObject in Speicherliste einfügen
				outList.add(StructX.getAktivFenster().getStruktogramm().getRootObject());
			
				//Struktogramm in Speicherliste einfügen
				StructX.getAktivFenster().getStruktogramm().getRootObject().addSpeicherList(outList);
	

				ObjectOutputStream os=new ObjectOutputStream(new FileOutputStream(datei));
				os.writeObject(outList);
				os.close();
			
				//auf keine Änderungen setzen
				this.setGeaendert(false);
				StructX.getAktivFenster().setTitle("Struktogramm Nr."+Fenster.getOpenFrameCount() +" : "+this.getName());
				StructX.getAktivFenster().revalidate();
				
				this.setGespeichert(true);
		  } 
		  catch (IOException e)  
		  {
				System.out.println("Fehler beim Speichern!");
			System.out.println(e.getMessage());
			System.out.println(e.toString());
			System.out.println(e.getCause());
		  }
		 	
		  return false;
	  }

Hier der Quellcode vom Ausfuehren:
Code:
//Run Methode überschreiben
	public void run()
	{
		//Solange Thread nicht abgebrochen wurde:
		if(this.isInterrupted()==false)
		{
			//ArgumentenString für Main-Methode anlegen
			//und Main Methode kompilieren starten
			String[] args =new String[]{"-d",System.getProperty("user.dir"),filename};
			int status =Main.compile(args);
			
			switch(status)
			{
				//beim Kompilieren der MainMethode:
				case 0: 
						//neue Klasse anlegen, mit Namen der JavaDatei
						File classFile=new File(file.getParentFile().getAbsolutePath(),classname + ".class");
						//Nach Gebrauch die temp. Datei wieder löschen
						classFile.deleteOnExit();
			
						try
						{
							//Pfad zur Klasse anlegen
							URL url=new File(classFile.getParentFile().getAbsolutePath()).toURL();
							//Klasse laden
							URLClassLoader l = new URLClassLoader(new URL[] { url }); 
							Class clazz = l.loadClass(classname); 
							//Main Methode mit geladener Klasse ausführen
							Method main = clazz.getMethod("main", new Class[] { String[].class }); 
							main.invoke(null, new Object[] {new String[0]});
					
						}catch(InvocationTargetException ex)
						{
							System.out.println("Fehler beim Ausfuehren!");
				
						}catch(Exception ex)
						{
							System.out.println("Fehler beim Ausfuehren!");
						}
						
						classFile.delete();
						
						break;
				case 1: System.out.println("Compile status: ERROR");break;
				case 2: System.out.println("Compile status: CMDERR");break;
				case 3: System.out.println("Compile status: SYSERR");break;
				case 4: System.out.println("Compile status: ABNORMAL");break;
				default: System.out.println("Compile status: Unknown exit status");
			}
		}
 
G

Guest

Gast
Der Aufruf von
Code:
os.writeObject(outList);
serialisiert ja die LinkedList und damit auch die enthaltenen Objekte.
Scheinbar fügst du irgendwo ein java.io.PrintWriter-Objekt dieser Liste hinzu. Das kann nur in den folgenden Aufrüfen passieren:
Code:
outList.add(StructX.getAktivFenster().getStruktogramm().getRootObject());
StructX.getAktivFenster().getStruktogramm().getRootObject().addSpeicherList(outList);
 
G

Guest

Gast
Okay, danke fuer die Lokalisation des Problems. Und wie kann ich es beheben? Wie mache ich den PrintWriter serialisierbar? Meine Klassen implementieren alle das Interface Serializable.

Danke nochmals fuer den Tip.
 
G

Guest

Gast
Gast hat gesagt.:
Und wie kann ich es beheben?
Füge der Liste halt keinen PrintWriter zu. Ist sinnlos.

Gast hat gesagt.:
Wie mache ich den PrintWriter serialisierbar?
Geht nicht. Wenn du den PrintWriter benutzt, um Strings "abzuspeichern", dann ist es wohl die falsche Klasse. PrintWriter ist eine Art Filter und besitzt selbst keine Daten.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Selenium Scriipt zeigt Fehler beim Import Allgemeine Java-Themen 3
yakazuqi Fehler beim Laden. JDA (Java Discord API) Allgemeine Java-Themen 1
U Fehler beim Compillieren Allgemeine Java-Themen 13
bueseb84 Fehler beim Import von Maven Dependencies aus lokalem artifactory Allgemeine Java-Themen 2
A Fehler beim Öffnen eines Projekts Allgemeine Java-Themen 6
C Fehler beim Debuggen von Listen Allgemeine Java-Themen 4
I Fehler beim Ant-Package erstellen mit Java 9 Allgemeine Java-Themen 1
A Fehler beim Aktualisieren JTable Allgemeine Java-Themen 1
J-Gallus Erste Schritte Wahrscheinlich Anfänger Fehler beim rechnen. Falsches Ergebnis. Allgemeine Java-Themen 9
J Interpreter-Fehler Fehler beim Verschlüsseln Invalid AES key length Allgemeine Java-Themen 1
V JavaFX Fehler beim Starten einer Jar Allgemeine Java-Themen 7
K Fehler beim erstellen von .jar Datei Allgemeine Java-Themen 3
M Eclipse Fehler beim Installieren des Plugins "Jigloo" Allgemeine Java-Themen 12
A Eclipse - Fehler beim "RUN" - "Unable to Launch - The selection cannot be launched" Allgemeine Java-Themen 6
B Fehler beim Auslesen von Einstellungen. Zwei ähnliche Blöcke, nur eins geht. Allgemeine Java-Themen 5
H JUnit Fehler beim Compilieren - erledigt Allgemeine Java-Themen 0
J Fehler beim parsens eine Datums Allgemeine Java-Themen 3
G Fehler beim instanzieren einer Generischen Klasse Allgemeine Java-Themen 5
K Eclipse Fehler beim Ausführen meines Programms in Eclipse Allgemeine Java-Themen 11
G Native Library / Fehler beim Laden der .so/.dll Datei Allgemeine Java-Themen 17
S Fehler beim ausführen des HTML Allgemeine Java-Themen 7
D Fehler beim PDF convert Allgemeine Java-Themen 2
J Methoden Fehler beim serialisieren und laden!? help Allgemeine Java-Themen 4
P Fehler beim Export meines Lernbeispiel von Ralf Ebert Allgemeine Java-Themen 3
J Fehler beim JDownloader Allgemeine Java-Themen 3
B Fehler beim Rechnen mit Floats Allgemeine Java-Themen 3
D Fehler beim ersetzen in String Allgemeine Java-Themen 2
P Fehler beim Programmstart: java.lang.NoClassDefFound Allgemeine Java-Themen 12
N Fehler beim Runden?! Allgemeine Java-Themen 4
R doppelt verkettete Liste: Fehler beim Einfügen Allgemeine Java-Themen 3
H Fehler beim Seitenaufruf über IIS Allgemeine Java-Themen 2
R Fehler beim schreiben in eine Liste! Allgemeine Java-Themen 2
T Fehler beim Compilieren Allgemeine Java-Themen 10
zilti Eclipse meldet Fehler beim Start Allgemeine Java-Themen 8
G fehler meldung beim starten einer .jar datei Allgemeine Java-Themen 3
M Irgendwo einen Fehler beim Schreiben in die Datei :( Allgemeine Java-Themen 2
A Fehler beim Ersetzen eines Strings Allgemeine Java-Themen 3
T Decimalformat, Fehler beim runden? Allgemeine Java-Themen 8
T Fehler beim Lesen von verschlüsselter xml-Datei Allgemeine Java-Themen 13
S Fehler beim Einlesen einer Webseite mit 1.4 Allgemeine Java-Themen 3
G Syntax-Fehler beim aufrufen von generischen Klassenmethoden Allgemeine Java-Themen 4
I Fehler beim Schreiben von Datein Allgemeine Java-Themen 3
R Fehler beim kompilieren Allgemeine Java-Themen 8
O Fehler beim (De)installieren Allgemeine Java-Themen 4
M Fehler beim Start des Chat-Applets von java-forum.org Allgemeine Java-Themen 10
L Merkwürdiger Fehler beim auslesen einer Datei Allgemeine Java-Themen 2
P Eclipse: Kein Fehler beim Debuging aber beim normalen run Allgemeine Java-Themen 3
G Fehler beim Ausführen einer Applikation Allgemeine Java-Themen 4
M Fehler beim öffnen einer 20 mb Textdatei im sign. Applet Allgemeine Java-Themen 5
S Fehler beim return eines String Arrays Allgemeine Java-Themen 3
flashfactor Komischer Fehler beim Einlesen einer Datei. Allgemeine Java-Themen 2
G Fehler beim Datei oeffnen Allgemeine Java-Themen 5
D Fehler beim löschen eines Arraylist-element Allgemeine Java-Themen 5
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
S Fehler: <ID> erwartet Allgemeine Java-Themen 5
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
Pinhg Discord JDA Bot - Fehler Allgemeine Java-Themen 3
KonradN CVE-2022-21449: Fehler in Java bei Signaturprüfung Allgemeine Java-Themen 20
L Fehler mit Boolean. (Glaube ich zumindest) Allgemeine Java-Themen 6
O Fehler bei Variablen Allgemeine Java-Themen 2
HerrBolte Seltsamer Fehler nur in der Windows- und nicht in der Java-Console O_O Allgemeine Java-Themen 16
M Kein Scanner Fehler durch falsche EIngabe Allgemeine Java-Themen 4
N nicht einsehbarer Fehler im code, kann nicht mehr übersetzten Allgemeine Java-Themen 51
C Fehler bei der Benutzung von itextpdf Allgemeine Java-Themen 1
x46 String Format Fehler Allgemeine Java-Themen 2
MiMa Datei verschieben hat einen Fehler?? Allgemeine Java-Themen 20
O xlsx Datei auslesen mit POI von Apache wirft seltsamen Fehler. Allgemeine Java-Themen 11
T Java-Quiz Code Fehler Allgemeine Java-Themen 10
E Hat der Compiler einen Fehler oder warumbeendet return nicht eine Methode ? Allgemeine Java-Themen 7
T Fehler bei IF abfrage Allgemeine Java-Themen 8
M Einheitenrechner - Fehler Allgemeine Java-Themen 12
D Erste Schritte Fehler mit negativen und 0 Zahlen im String Allgemeine Java-Themen 6
T Denk-Fehler? Allgemeine Java-Themen 4
A Finde den Fehler nicht. Allgemeine Java-Themen 7
H Class 'java.io.BuferedReader' is not present in JRE Emulation Libary | GWT Fehler?! Allgemeine Java-Themen 0
D Unbekannter Fehler Allgemeine Java-Themen 1
R Fehler im Code Allgemeine Java-Themen 1
R Fehler im Code Allgemeine Java-Themen 3
ReinerCoder Methode einer Klasse meldet Fehler "misplaced construct(s)" Allgemeine Java-Themen 13
R Wo ist mein Fehler in der Methode DRINGEND Allgemeine Java-Themen 9
R Wo ist mein Fehler in diesem Code Allgemeine Java-Themen 7
L Fehler bei der Ausführung einer Jar Allgemeine Java-Themen 2
T OOP Fehler im Design Allgemeine Java-Themen 9
Thallius Unfassbarer Fehler. Brauche Ideen zum Debuggen Allgemeine Java-Themen 9
U Eclipse MANIFEST fehler Allgemeine Java-Themen 7
I Fehler bei HashMaps Darstellung Allgemeine Java-Themen 10
R Classnotfoundexception Fehler Allgemeine Java-Themen 3
N Compiler-Fehler Warum erhalte ich einen Nullpointer Fehler? Allgemeine Java-Themen 2
N Prim's Algorithm - wo ist der Fehler? Allgemeine Java-Themen 3
M Line-Fehler Allgemeine Java-Themen 8
U Input/Output Warum wirft mir das Programm diesen Fehler? Allgemeine Java-Themen 6
RalleYTN Merkwürdiger Fehler mit JFrame im Vollbild Allgemeine Java-Themen 4
V AudioInputStream Fehler Allgemeine Java-Themen 1
G Fehler mit Vector Allgemeine Java-Themen 3
F Java Fehler "buildTableModel" Allgemeine Java-Themen 3
F Fehler in Zeile in Log schreiben Allgemeine Java-Themen 6
DanielsLPecke Input/Output Arduino komischer Fehler. Allgemeine Java-Themen 38
S Hashtable Fehler Allgemeine Java-Themen 14
S Zwei String vergleichen, Fehler markieren Allgemeine Java-Themen 3
C Hilfe bei einer Fehler meldung Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben