2012-04-09 1 views
1

Angenommen ich so etwas wie dieses:Gibt es eine einfache Möglichkeit, ein Objekt einer komplexen Klasse in eine Datei für Java zu schreiben?

class A 
{ 
public B mem; 
public int x; 
public int y; 
} 

class B 
{ 
public C mem1; 
public D mem2; 
} 

class C 
{ 
public Image img; 
} 

class D 
{ 
public int m; 
} 


//Writing object A onto a file using ObjectWriter? 

Wie würde ich Klasse A auf eine Datei mit ObjectWriter schreiben? Wenn ich es direkt schreibe, kopiert es nur den Zeiger (wenn ich mich nicht irre).

+4

google 'Java Serialization' –

+0

und Sie wahrscheinlich schreiben' private ... 'auf Ihre Mitglied Variablen – LuckyLuke

+0

@Viper 'stimme ich nicht' in dem Sinne, dass möglicherweise oder nicht, was das OP beabsichtigt, aber für Zwecke Serialisierung durch die 'ObjectOutputStream' oder' XMLEcnoder', private Felder würden normalerweise nicht gespeichert (AFAIU). –

Antwort

8

Ja. Verwenden Sie the serialization API. Es ist ziemlich tot einfach.

+0

Funktioniert es, wenn das Mitglied der Klasse ein Zeiger auf einen Zeiger auf eine andere Klasse ist (wie A enthalten Zeiger B, die Zeiger C enthalten)? Wird es nicht einfach den Zeiger anstelle der Rohdaten aufschreiben? – user385261

+0

In Java gibt es keinen Zeiger. –

+0

hey @ user385261, dass Bildklasse nur Serializable wie Ihre Klassen implementieren sollte. Mach dir keine Sorgen – jorgeu

Verwandte Themen