Hallo Zusammen,
wieder habe ich eine Übung die mich zum grübeln bringt.
Es geht um Serialisierung. In der Übung wird eine Klasse Time erstellt:
[highlight=java]
import java.io.*;
import ausgabeAblauf.AusgabeAblauf;
public class Time implements Serializable
{
AusgabeAblauf ab = new AusgabeAblauf();
private int hour;
private int minute;
public Time(int hour, int minute)
{
this.hour = hour;
this.minute = minute;
ab.Abl("Konstruktor " + hour + ":" + minute);
}
public String toString()
{
ab.Abl("toString() " + hour + ":" + minute);
return hour + ":" + minute;
}
}
[/highlight]
dann wird in der Main-Klasse ein ObjectOutputStream aus FileOutputStream erzeugt und die Zeit wiedergegeben.
[highlight=java]
import java.io.*;
import java.util.*;
import ausgabeAblauf.AusgabeAblauf;
/**
* @author Alexander.Locher
*
*/
public class SerialisierungBeispiel
{
AusgabeAblauf ab = new AusgabeAblauf();
private static final long serialVersionUID = 1L;
public static void main(String[] args)
{
try
{
FileOutputStream fs = new FileOutputStream("C:\\tmp\\OutputStream.txt");
ObjectOutputStream os = new ObjectOutputStream(fs);
os.writeInt(123);
os.writeObject("Nanu?");
os.writeObject(new Time(10,30));
os.writeObject(new Time(11,25).toString());
os.close();
}
catch (IOException e)
{
AusgabeAblauf ab = new AusgabeAblauf();
ab.Err(e.toString());
}
}
}
[/highlight]
Das Ergebnis in der Text-Datei ist::
¬í w {t Nanu?sr TimeDof¨“ŸB% I hhhhI mmmmL abt LausgabeAblauf/AusgabeAblauf;xp
sr ausgabeAblauf.AusgabeAblauf‡×¡~QXv L sdft Ljava/text/SimpleDateFormat;xpsr java.text.SimpleDateFormatBCÉÚ“”5 I serialVersionOnStreamL defaultCenturyStartt Ljava/util/Date;L
formatDatat Ljava/text/DateFormatSymbols;L localet Ljava/util/Locale;L patternt Ljava/lang/String;xr java.text.DateFormatd,¡äÂ&ü L calendart Ljava/util/Calendar;L numberFormatt Ljava/text/NumberFormat;xr java.text.FormatûؼéC xpsr java.util.GregorianCalendar=×Öå°ÐÁ J gregorianCutoverxr java.util.CalendaræêMÈÜ[Ž Z areFieldsSetI firstDayOfWeekZ isTimeSetZ lenientI minimalDaysInFirstWeekI nextStampI serialVersionOnStreamJ time[ fieldst [I[ isSett [ZL zonet Ljava/util/TimeZone;xp 6&Žur [IMº`&vê²¥ xp Ü
I 7 ] 6î€ ur [ZW 9¸]â xp sr java.util.SimpleTimeZoneúg]`Ñ^õ¦ I
dstSavingsI endDayI endDayOfWeekI endModeI endMonthI endTimeI endTimeModeI rawOffsetI serialVersionOnStreamI startDayI startDayOfWeekI startModeI
startMonthI startTimeI
startTimeModeI startYearZ useDaylight[ monthLengtht [Bxr java.util.TimeZone1³éõwD¬¡ L I .............
Warum? Ich bearbeite doch nur Integer?
Oder ich habe noch nicht verstanden was Serialisieren bedeutet.
Vielen Dank für Eure Hilfe.
Gruß Lerando
wieder habe ich eine Übung die mich zum grübeln bringt.
Es geht um Serialisierung. In der Übung wird eine Klasse Time erstellt:
[highlight=java]
import java.io.*;
import ausgabeAblauf.AusgabeAblauf;
public class Time implements Serializable
{
AusgabeAblauf ab = new AusgabeAblauf();
private int hour;
private int minute;
public Time(int hour, int minute)
{
this.hour = hour;
this.minute = minute;
ab.Abl("Konstruktor " + hour + ":" + minute);
}
public String toString()
{
ab.Abl("toString() " + hour + ":" + minute);
return hour + ":" + minute;
}
}
[/highlight]
dann wird in der Main-Klasse ein ObjectOutputStream aus FileOutputStream erzeugt und die Zeit wiedergegeben.
[highlight=java]
import java.io.*;
import java.util.*;
import ausgabeAblauf.AusgabeAblauf;
/**
* @author Alexander.Locher
*
*/
public class SerialisierungBeispiel
{
AusgabeAblauf ab = new AusgabeAblauf();
private static final long serialVersionUID = 1L;
public static void main(String[] args)
{
try
{
FileOutputStream fs = new FileOutputStream("C:\\tmp\\OutputStream.txt");
ObjectOutputStream os = new ObjectOutputStream(fs);
os.writeInt(123);
os.writeObject("Nanu?");
os.writeObject(new Time(10,30));
os.writeObject(new Time(11,25).toString());
os.close();
}
catch (IOException e)
{
AusgabeAblauf ab = new AusgabeAblauf();
ab.Err(e.toString());
}
}
}
[/highlight]
Das Ergebnis in der Text-Datei ist::
¬í w {t Nanu?sr TimeDof¨“ŸB% I hhhhI mmmmL abt LausgabeAblauf/AusgabeAblauf;xp
sr ausgabeAblauf.AusgabeAblauf‡×¡~QXv L sdft Ljava/text/SimpleDateFormat;xpsr java.text.SimpleDateFormatBCÉÚ“”5 I serialVersionOnStreamL defaultCenturyStartt Ljava/util/Date;L
formatDatat Ljava/text/DateFormatSymbols;L localet Ljava/util/Locale;L patternt Ljava/lang/String;xr java.text.DateFormatd,¡äÂ&ü L calendart Ljava/util/Calendar;L numberFormatt Ljava/text/NumberFormat;xr java.text.FormatûؼéC xpsr java.util.GregorianCalendar=×Öå°ÐÁ J gregorianCutoverxr java.util.CalendaræêMÈÜ[Ž Z areFieldsSetI firstDayOfWeekZ isTimeSetZ lenientI minimalDaysInFirstWeekI nextStampI serialVersionOnStreamJ time[ fieldst [I[ isSett [ZL zonet Ljava/util/TimeZone;xp 6&Žur [IMº`&vê²¥ xp Ü
I 7 ] 6î€ ur [ZW 9¸]â xp sr java.util.SimpleTimeZoneúg]`Ñ^õ¦ I
dstSavingsI endDayI endDayOfWeekI endModeI endMonthI endTimeI endTimeModeI rawOffsetI serialVersionOnStreamI startDayI startDayOfWeekI startModeI
startMonthI startTimeI
startTimeModeI startYearZ useDaylight[ monthLengtht [Bxr java.util.TimeZone1³éõwD¬¡ L I .............
Warum? Ich bearbeite doch nur Integer?
Oder ich habe noch nicht verstanden was Serialisieren bedeutet.
Vielen Dank für Eure Hilfe.
Gruß Lerando
Comment