03.11.2013 Aufrufe

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

292 14 Langfristige Sicherung von Objekten<br />

Ein Datenstrom wird dadurch gefüllt, daß ein erstes Objekt eingetragen wird, danach<br />

ein zweites Objekt, usw. Anschließend kann ein Zugriff auf die Objekte durchgeführt<br />

werden, der entweder über eine vorgegebene Positionsnummer oder aber<br />

sequentiell erfolgt, indem von einem Objekt auf das unmittelbar nachfolgende Objekt<br />

positioniert wird.<br />

Sofern der Inhalt eines Datenstroms die Form einer Zeichenkette besitzt, kann er in<br />

einer Datei gesichert werden.<br />

Dieser Sachverhalt versetzt uns in die Lage, die Persistenz von Objekten auch<br />

für den Fall zu ermöglichen, in dem eine Anwendung allein auf den Einsatz eines<br />

Laufzeit-Systems gegründet werden soll.<br />

14.2.2 Einrichtung und Bearbeitung einer Ausgabe-Datei<br />

Zur Einrichtung einer Datei stellt das <strong>SMALLTALK</strong>-System die Basis-Klasse “File”<br />

zur Verfügung. Durch eine Instanziierung dieser Klasse läßt sich ein Datenstrom<br />

einrichten, dessen Inhalt die Form einer Zeichenkette besitzt. Dieser Datenstrom<br />

wird nicht im Speicherbereich des Laufzeit-Systems, sondern extern unter Einsatz<br />

des Betriebssystems als Datei auf einem magnetischen Datenträger verwaltet.<br />

Um eine Datei einzurichten, kann die Message “pathName:” verwendet werden, bei<br />

der der jeweils gewählte Dateiname als Argument aufzuführen ist.<br />

ˆ “pathName:”:<br />

Durch den Einsatz der Klassen-Methode “pathName:” wird ein externer Datenstrom<br />

in Form einer Datei eingerichtet, deren Dateiname als Argument des<br />

Selektors “pathName:” in Form einer Zeichenkette anzugeben ist.<br />

Zum Beispiel wird durch die Anforderung<br />

|ausgabeDatei|<br />

ausgabeDatei := File pathName: ’bag.dat’<br />

eine Datei namens “bag.dat” als externer Datenstrom vereinbart und zur Bearbeitung<br />

eröffnet.<br />

Soll z.B. der Inhalt eines Bags, in dem mehrere Zeichenketten – wie z.B. “33”, “31”<br />

und “34” – gesammelt sind, in die Datei “bag.dat” übertragen werden, so können<br />

die folgenden Anforderungen gestellt werden:<br />

|ausgabeDatei bag|<br />

bag := Bag new.<br />

bag add: ’33’.<br />

bag add: ’31’.<br />

bag add: ’34’.<br />

ausgabeDatei := File pathName: ’bag.dat’.<br />

bag do: [:einObjekt|ausgabeDatei space; nextPutAll: einObjekt].<br />

ausgabeDatei close

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!