File io Smalltalk:将输出写入文件
通常我会用我的输出把它写在成绩单上File io Smalltalk:将输出写入文件,file-io,smalltalk,File Io,Smalltalk,通常我会用我的输出把它写在成绩单上 Transcript show: 如何将输出写入文件?要使用文件流吗 看 摘录如下: 文件流 文件流支持所有ExternalStreams协议。它们可以创建为从文件读取、写入、读写或附加到文件。 创建: * for reading: aStream := FileStream readonlyFileNamed:aFilenameString * to read/write an existing file: aStream
Transcript show:
如何将输出写入文件?要使用文件流吗 看 摘录如下:
文件流 文件流支持所有ExternalStreams协议。它们可以创建为从文件读取、写入、读写或附加到文件。 创建:
* for reading:
aStream := FileStream readonlyFileNamed:aFilenameString
* to read/write an existing file:
aStream := FileStream oldFileNamed:aFilenameString
* to create a new file for writing:
aStream := FileStream newFileNamed:aFilenameString
上面是内部低级别实例创建协议,使用该协议在政治上有点不正确。为了便于移植,请使用配套类文件名创建文件流:
* for reading:
aStream := aFilenameString asFilename readStream
* to read/write an existing file:
aStream := aFilenameString asFilename readWriteStream
* to create a new file for writing:
aStream := aFilenameString asFilename writeStream
* to append to an existing file:
aStream := aFilenameString asFilename appendingWriteStream
当然,如果您不是在编写二进制或默认编码,请不要忘记处理所需的字符编码。在Pharo/Squeak中,将转换器设置为所需的TextConverter子类
| fileName aStream |
fileName := (Filename named: 'stream.st').
aStream := fileName readAppendStream.
aStream nextPutAll: 'What is the best class I have ever taken?'.
aStream cr.
aStream flush.
aStream nextPutAll: 'It is the VisualWorks Intro class!'.
aStream close.