Problem mit ObjectInputStream beim Einlesen von LinkedList

scaary

Bekanntes Mitglied
Hiho,

Ich schon wieder.

Ich habe eine Problem:

Ich habe mir eine Methode zum einlesen von Objekten geschrieben.

Diese funktioniert einwadfrei bei einem String Array, jedoch wirft es mir eine IO Exception bei einer LinkedList.
Warum, weiss ich nicht, ich hoffe, ihr koennt mir da helfen:

Java:
public static Object loadObjectfromFile(File fileName) {
		InputStream fis = null;
                Object result = null;
                System.out.println(fileName.exists());
        try {
            System.out.println(FileWorker.getFileContent(fileName));
        } catch (IOException ex) {
            Logger.getLogger(FileWorker.class.getName()).log(Level.SEVERE, null, ex);
        }
		try {
			fis = new FileInputStream( fileName );
			ObjectInputStream o = new ObjectInputStream( fis );
			result = o.readObject();
		}catch ( IOException e ) { System.err.println( "IO Exception in loadObjectfromFile" );
                }catch ( ClassNotFoundException e ) { System.err.println( e );
                }finally {
                    try { fis.close();
                    } catch ( Exception e ) { } 
	}
                System.out.println(result);
	return result;
        }

Des weiteren hab ich die beiden Ausgaben inklusive der Fehlermeldung hier:

Code:
run:
true
¬í ur [Ljava.lang.String;*ÒVçé{G  xp   Ot Altenpflegert Anlagenbauer-Anlagenmechanikert AnlagenundMaschinenbauert AuPairt AusbaufacharbeiterTrockenbauert
[Ljava.lang.String;@aeea66
true
¬í sr java.util.LinkedList)S]J`ˆ"  xpw   sr 3GSTSharedProjectFiles.ApplicationData.Personendaten¨B gÕsK L datet Ljava/lang/String;L nameq ~ L numberq ~ xpt         2010.4.21t Hennig, Andreast 000000000001x
null

IO Exception in loadObjectfromFile
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

Jemand eine Ahnung?



Edit:

Nach weiteren ausgabeveraenderungen, weiss ich, dass es am ObjectInputStream liegt.

Warum der genau allerdings nen null zurueck gibt, weiss ich nicht :(
 
Zuletzt bearbeitet:
S

SlaterB

Gast
funktioniert folgendes Testprogramm bei dir?
Java:
public class Test {
    public static void main(String[] args) throws Exception {
        File f = new File("test.obj");
        LinkedList l = new LinkedList();
        l.add("ab");
        l.add(null);
        l.add(Integer.valueOf(3));
        writeSingleObjectInFile(f, l);
        loadObjectfromFile(f);
    }
    public static void writeSingleObjectInFile(File fileName, Object object) throws Exception {
        OutputStream fos = new FileOutputStream(fileName);
        ObjectOutputStream o = new ObjectOutputStream(fos);
        o.writeObject(object);
        o.close();
    }
    public static Object loadObjectfromFile(File fileName) throws Exception {
        System.out.println(fileName.exists());
        InputStream fis = new FileInputStream(fileName);
        ObjectInputStream o = new ObjectInputStream(fis);
        Object result = o.readObject();
        o.close();
        System.out.println(result);
        return result;
    }
}

die writeSingleObjectInFile-Methode habe ich aus deinem letzten Thread kopiert,
ein wichtiger Punkt ist, immer den höchsten Stream zu schließen, wenn du beim write den FileOutputStream dicht machst,
hat der ObjectOutputStream vielleicht noch Daten zu schreiben, z.B. eine Information 'Dateiende'

das Testprogramm läuft bei mir aber auch mit fos.close(), das kann es also eigentlich nicht sein
 

scaary

Bekanntes Mitglied
Jaa, den letzten Thread hab ich leider verloren :(

Wie ist das eigentlich hier im Forum gewuenscht, soll ich fuer jedes Problem nen eigenen Thread aufmachen, oder fuer ein Programm zugehoerige Probleme in einen Thread?


Btt:
Soo, also ich habs jetzt mit dem manuellen Einlesen probiert (sprich deinen Code benutzt).
DAS funktioniert einwandfrei.

Sprich, er weigert sich nicht, generell LinkedLists einzulesen, sondern er weigert sich nur meine einzulesen, das ist schonmal gut :)

Ich hab ausserdem LinkedList mit Objekten drin. Diese Objekte sind Personendaten:
Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package GSTSharedProjectFiles.ApplicationData;

import GSTSharedProjectFiles.FileWorking.FileWorker;
import java.io.Serializable;
import java.util.Calendar;

/**
 *
 * @author sascha
 */
public class Personendaten implements Serializable {
    private String name;
    private String number;
    private String date;

   public Personendaten(String name, String number) {
        this.name = name;
        this.number = number;
        this.date = FileWorker.getDate();
    }


    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * @return the number
     */
    public String getNumber() {
        return number;
    }

    /**
     * @param number the number to set
     */
    public void setNumber(String number) {
        this.number = number;
    }

    /**
     * @return the date
     */
    public String getDate() {
        return date;
    }

    /**
     * @param date the date to set
     */
    public void setDate(String date) {
        this.date = date;
    }

public String toString() {
    return number + ", " + name + ", " + date;
}

}

an denen duerfte es aber eigentlich nicht liegen.

Ich dachte erst, es liegt vllt daran, dass ich die Dateien von der externen Platte hole, dem ist jedoch nciht so, auch die Dateien auf meiner lokalen Platte werden mit ner IOException abgewiesen.


Daher ist meine Vermutung, dass es an der Methode liegt, die die Objekte Schreibt (wobei es bei Arrays ohne Probleme funktioniert):

Java:
 /**
         *
         * Writes one Object in a File.
         * @param fileName
         * @param nameList
         */
         public static void writeSingleObjectInFile(File fileName, Object object) {
             OutputStream fos = null;

             try {
                  fos = new FileOutputStream(fileName );
                  ObjectOutputStream o = new ObjectOutputStream( fos );
                  o.writeObject(object);

                } catch ( IOException e ) {
                    System.err.println( e );
                } finally {
                    try {
                        fos.close();
                    } catch ( Exception e ) {
                    }
                }
         }

Siehst du irgendwo einen Fehler den ich gemacht habe?

Danke :)
 
S

SlaterB

Gast
nun, einen habe ich ja exakt in meiner ersten Antwort beschrieben,

ansonsten ist meine Devise bekannt, wie im letzten Thread gesagt, hier in der ersten Antwort vorgemacht:
ein komplettes Programm posten mit main-Methode,
füge deine Methoden und Klassen ein soweit nötig, möglichst gekürzt auf wenige Attribute,
langweiliges Exception-Management raus (wenn dann nicht der Fehler verschwindet)

kann natürlich sein, dass es bei so einem Testprogramm dann läuft und im anderen Zusammenhang nicht, dann ist das zumindest eine Info
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Verständnisfrage/Problem beim lesen mit ObjectInputStream Java Basics - Anfänger-Themen 3
K Verständnis Problem bei Server/Client Java Basics - Anfänger-Themen 2
I WildFily - unterschiedliche Libs im Projekt verursachen Problem Java Basics - Anfänger-Themen 11
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
L Taschenrechner Problem Java Basics - Anfänger-Themen 4
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
A ScheduledExecutorService problem Java Basics - Anfänger-Themen 7
marcelnedza Problem mit Weltzuweisung, JavaKarol Java Basics - Anfänger-Themen 13
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
M Erste Schritte Collatz Problem max int Java Basics - Anfänger-Themen 3
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
frager2345 Problem mit Methode Java Basics - Anfänger-Themen 4
L Problem bei Rechnung mit Math.pow Java Basics - Anfänger-Themen 13
A Thread-Schreibe-Lese-Problem Java Basics - Anfänger-Themen 4
SUPERTJB return Problem Java Basics - Anfänger-Themen 3
sserio BigInteger Problem Java Basics - Anfänger-Themen 4
JordenJost Taschenrechner problem Java Basics - Anfänger-Themen 5
K Problem mit "Random" Java Basics - Anfänger-Themen 5
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
xanxk Problem For-Schleife mit Charakter Java Basics - Anfänger-Themen 2
L Unbekanntes Problem mit 2d Array Java Basics - Anfänger-Themen 6
sserio Liste erstellt und ein Problem mit dem Index Java Basics - Anfänger-Themen 8
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
J Schleife Problem Java Basics - Anfänger-Themen 2
D Problem mit der Erkennung von \n Java Basics - Anfänger-Themen 2
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
M Verständins Problem bei Aufgabe Java Basics - Anfänger-Themen 4
HeiTim Problem mit der Kommasetzung an der richtigen stelle Java Basics - Anfänger-Themen 59
Temsky34 Problem mit dem Code Java Basics - Anfänger-Themen 17
P Problem mit Calendar.getDisplayName() Java Basics - Anfänger-Themen 8
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
M Problem mit Klassenverständnis und Button Java Basics - Anfänger-Themen 8
EchtKeineAhnungManchmal hallo habe ein Problem mit einer Datei -> (Zugriff verweigert) Java Basics - Anfänger-Themen 4
H Problem mit Verzweigungen Java Basics - Anfänger-Themen 6
H Problem mit Rückgabewert Java Basics - Anfänger-Themen 7
josfe1234 JAVA FX problem Java Basics - Anfänger-Themen 3
A Code Problem Java Basics - Anfänger-Themen 6
Henri Problem von Typen Java Basics - Anfänger-Themen 7
J Problem mit "ArrayIndexOutOfBoundsException" Java Basics - Anfänger-Themen 11
K jackson Mapping - Problem mit Zeitzonen Java Basics - Anfänger-Themen 10
B Threads Problem mit mehreren Threads Java Basics - Anfänger-Themen 38
I Output BigDecimal anstatt double / Problem beim Rechnen Java Basics - Anfänger-Themen 16
D Schleifen Problem Java Basics - Anfänger-Themen 2
H So viele Fehlermeldungen, dass ich nicht weiß wo das Problem ist. Java Basics - Anfänger-Themen 6
J JAVA-Problem blockiert MEDIATHEKVIEW Java Basics - Anfänger-Themen 13
T Problem mit Lehrzeichen und String bei einfacher Chiffre Java Basics - Anfänger-Themen 8
J extends Problem Java Basics - Anfänger-Themen 2
C Polymorphie-Problem Java Basics - Anfänger-Themen 3
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
I Format Problem mit Wert - bekomme 0,10 anstatt 10,00 Java Basics - Anfänger-Themen 6
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
J Allgemeines Problem mit Klassen Java Basics - Anfänger-Themen 5
U Problem mit dem initialisieren meines Strings in einer Schleife Java Basics - Anfänger-Themen 5
amgadalghabra algorithmisches Problem Java Basics - Anfänger-Themen 19
J Traveling Salesman Problem [Arrays] Java Basics - Anfänger-Themen 9
R ArrayList Problem Java Basics - Anfänger-Themen 6
InfinityDE Problem mit Datenübergabe an Konstruktor Java Basics - Anfänger-Themen 7
C RegEx Problem Java Basics - Anfänger-Themen 4
J Anfänger TicTacToe, Problem bei Gewinnoption, sowohl Unentschieden Java Basics - Anfänger-Themen 8
E Taschenrechner GUI Problem mit Fehlerhandling Java Basics - Anfänger-Themen 6
M Input/Output Fallunterscheidung Problem Java Basics - Anfänger-Themen 17
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
Splayfer Java Array Problem... Java Basics - Anfänger-Themen 2
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
F Problem mit KeyListener in kombination mit dem ActionListener Java Basics - Anfänger-Themen 4
G Subset sum problem mit Backtracking Java Basics - Anfänger-Themen 18
N Problem mit Scanner Java Basics - Anfänger-Themen 2
J Klassen Problem Java Basics - Anfänger-Themen 8
A Out.format problem. Java Basics - Anfänger-Themen 3
J Problem bei der Programmierung eines Tannenbaums Java Basics - Anfänger-Themen 9
A Array problem Java Basics - Anfänger-Themen 16
2 Taschenrechner mit GUI Problem bei der Berechnung Java Basics - Anfänger-Themen 8
W Remote Method Invocation RMI - Problem Java Basics - Anfänger-Themen 0
I Ich habe ein Problem Java Basics - Anfänger-Themen 3
A Problem bei returnen eines Wertes Java Basics - Anfänger-Themen 6
M Regex Erstellung Problem Java Basics - Anfänger-Themen 2
D Input/Output Problem bei der Benutzereingabe eines Befehls Java Basics - Anfänger-Themen 14
M (Sehr großes Problem) Listen als static in anderen Klassen verwendet Java Basics - Anfänger-Themen 12
F Habe ein problem mit dem ActionListener Java Basics - Anfänger-Themen 3
C Regex-Problem Java Basics - Anfänger-Themen 4
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
M Problem in der Modellierung Java Basics - Anfänger-Themen 20
W Wo ist das URL-Problem ? Java Basics - Anfänger-Themen 1
S Generics-Problem: Class, Class<?>, Class<Object> Java Basics - Anfänger-Themen 4
D FileWriter / FileReader Problem Java Basics - Anfänger-Themen 10
G Problem beim Speichern von Objekten in einer Datei Java Basics - Anfänger-Themen 7
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
J Problem mit Array: 2 Klassen Java Basics - Anfänger-Themen 2
S Collections funktionale Listen (ListNode<E>) review und problem beim clone Java Basics - Anfänger-Themen 0
W OOP Vererbung und Problem bei Zählschleife in einer Methode Java Basics - Anfänger-Themen 10
C Problem mit If Else If und Überprüfung eines Counters Java Basics - Anfänger-Themen 3
F Problem mit Listen Java Basics - Anfänger-Themen 5
I wieder mit einer Umwandelung habe ich Problem (diesmal von char Array zu char) Java Basics - Anfänger-Themen 1
J Problem bei Umrechnung von Hex in Bin Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben