importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.ObjectInputStream;// importierte Klassen die es brauchtimportjava.io.ObjectOutputStream;importjava.util.ArrayList;importjava.util.Scanner;publicclass scanner4 {publicstaticvoidmain(String[] args){// serialisieren = FileInputStream , deserialisieren = FileOutputStreamArrayList<String> nameList ;// ArrayList deklarierenFileInputStream dat1 =null;// Eingabestream deklarierenObjectInputStream in =null;// Objekt-Eingabestream deklarierentry{// Ausnahme(Exception) behandeln
dat1 =newFileInputStream("datei.dat");// Eingabestream instanzieren und Datei(Datei.dat) erzeugen
in =newObjectInputStream(dat1);// Objekt-Eingabestream mit Eingabestream verketten
nameList =(ArrayList<String>) in.readObject();// Eingabestrom wird mit ArrayList(Objekt) beschrieben}catch(Exception e){nameList=newArrayList<String>();}// Exception abfangenfinally{if(in!=null)try{in.close();}catch(Exception e2){};}// was unbedingt gemacht werden mussSystem.out.println("Bereits gespeicherte Namen:");// Namen ausgebenfor(String s :nameList){// ArrayList durchgehen System.out.println(s);// und Namen ausgeben}FileOutputStream dat =null;// Ausgabestream deklarierenObjectOutputStream out =null;// Objekt-Asugabestream deklarierenSystem.out.print("Bitte Name eingeben: ");//Namen eingebenScanner eingabe =newScanner(System.in);// Eingabefeature, Namen eingebenString name = eingabe.nextLine();// Namen eingebenSystem.out.println("\nGuten Morgen "+ name +"!");// Namen ausgeben
nameList.add(name);// ArrayList nimmt Namen auftry{// Ausnahme(Exception) behandeln
dat =newFileOutputStream("datei.dat",false);// Ausgabestream instanzieren
out =newObjectOutputStream(dat);// Objekt-Ausgabestream instanzieren
out.writeObject(nameList);// ArrayList(Objekt) in Ausgabestrom(Datei) schreiben}catch(Exception e){e.printStackTrace();}//Ausnahme behandelnfinally{// was unbedingt gemacht werden musstry{if(out !=null){
out.close();}}catch(IOException e){}}}}
Wozu gibt es denn in Java die Serilaisierung? mit Code wie diesem :
Java:
FileOutputStream f =newFileOutputStream("datei");ObjectOutput s =newObjectOutputStream(f);
s.writeObject(newInteger(3));
s.writeObject("Text");
s.flush();