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.