Use these methods in your class.
loadStonFromFile: aDataFilenameString
| data |
data := STON fromStream: ((self dataFileNamed: aFilenameString) readStream).
^data
persistAsSton: anObject toFile: aDataFilenameString
(self newDataFileNamed: aFilenameString)
writeStreamDo: [ :out | out << (STON toString: anObject) ]
dataFileNamed: filename
"For an existing file"
^ (FileLocator imageDirectory / 'data' / filename) fullPath asFileReference
newDataFileNamed: filename
| file |
file := (FileLocator imageDirectory / 'data' / filename ) fullPath
asFileReference.
file writeStream close.
^ file
Usage:
"Saving"
self persistAsSton: someDataStructure toFile: self newDataFileNamed: 'persist.dat'
"Loading"
someDataStructure := self loadStonFromFile: self dataFileNamed: 'persist:dat'
HTH
Phil