tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von Bratkartoffel
  • 1 Beitrag von CPoly
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
420
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Steve222 Steve222 ist offline Mitglied Bronze
    Registriert seit
    Mar 2007
    Ort
    Rheinland
    Beiträge
    46
    Hallo allerseits,

    die folgende Frage zum Codebeispiel habe ich aus einem Tutor-
    System (Lehrsystem).
    Die Antwort, die hierfür bezüglich Ausgabe gegeben wird,
    deckt sich nicht mit meiner praktischen Nachprüfung.

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    Was wird hier ausgegeben?
     
    public class Serial 
    {
        public static void main(String... args) throws Exception
        {
            NumberFormat format = NumberFormat.getInstance(Locale.ITALY);
            String x = format.format(12.2);
            ObjectOutputStream stream = new ObjectOutputStream(new FileOutputStream(new File("test")));
            stream.writeObject(x);
            stream.writeInt(new Integer(10));
            stream.writeInt(-12);
            stream.flush();
            stream.close();
            ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream(new File("test")));
            System.out.println(inputStream.readObject());
            System.out.println(inputStream.readObject());
            System.out.println(inputStream.readObject());
        }    
    }

    Was meinst Du, was dieser Code ausgibt?

    Viele Grüße
    Steve222
     

  2. #2
    Avatar von Bratkartoffel
    Bratkartoffel Bratkartoffel ist offline gebratene Kartoffel
    tutorials.de Premium-User
    Registriert seit
    Jun 2007
    Ort
    Passau (Niederbayern)
    Beiträge
    1.394
    Hallo,

    da meines Wissens nach in einer Datei nur ein Object stehen kann, gibt er nur das erste geschriebene Objekt aus. Also etwas wie "12,2" (je nachdem wie die Italiener die Zahlen darstellen). Danach wirft er in Zeile 17 eine Exception (irgendeine IOException, weiß nicht mehr welche) und er dürfte das Programm abbrechen.

    Gruß
    BK
    Steve222 bedankt sich. 
    Über eine gute Bewertung freut sich jeder ;)
    Bitte erledigte Threads als "Erledigt" markieren.

    "Though a program be but three lines long, someday it will have to be maintained.''
    -- Geoffrey James, "The Tao of Programming"

  3. #3
    CPoly CPoly ist offline Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Ich denke die Ausgabe müsste
    12,2
    10
    -12
    lauten.

    Ich teste es mal...

    Edit: Also weder ich noch Bratkartoffel waren 100% richtig.
    Achtung Spoiler:

    Es können natürlich beliebig viele Objekte in einer Datei stehen, aber es wird eine Exception geworfen, weil er den primitiven Datentyp nicht als Object deserialisieren kann. Wenn es am Ende zwei mal "readInt()" heißt, funktioniert es und die Ausgabe ist so, wie ich es vermutet hatte.


    Gott sei dank hab ich beide Java Vorlesungen bestanden :-D
    Geändert von CPoly (21.09.10 um 10:26 Uhr)
    Bratkartoffel bedankt sich. 

  4. #4
    Steve222 Steve222 ist offline Mitglied Bronze
    Registriert seit
    Mar 2007
    Ort
    Rheinland
    Beiträge
    46
    Hallo BK,

    und Danke nochmals.
    Nach meinem Test ist es sowie Du es darstellst. Genau ist es eine java.io.OptionalDataException.
    Das ist jeoch KEINE RuntimeException so wie es vom Lehrsystem behautet wird:

    java.lang.Object
    extended by java.lang.Throwable
    extended by java.lang.Exception
    extended by java.io.IOException
    extended by java.io.ObjectStreamException
    extended by java.io.OptionalDataException

    Was also ist da los.
    Wer liegt hier verkehrt?

    Viele Grüße
    Steve222
     

Ähnliche Themen

  1. Serialisierung
    Von athlord im Forum Java
    Antworten: 6
    Letzter Beitrag: 18.12.10, 14:17
  2. XML - Serialisierung
    Von Apprauuuu im Forum C/C++
    Antworten: 0
    Letzter Beitrag: 19.07.08, 17:13
  3. Serialisierung von Objektreferenzen
    Von Friesi im Forum Java
    Antworten: 6
    Letzter Beitrag: 23.05.07, 14:27
  4. StackOverflowError bei Serialisierung
    Von Moddas im Forum Java
    Antworten: 3
    Letzter Beitrag: 16.05.07, 08:15
  5. Serialisierung PDOStatements
    Von mccoke im Forum PHP
    Antworten: 0
    Letzter Beitrag: 17.04.07, 11:58