Smalltalk编程:文件操作与程序结构优化
1. 文件的顺序访问
1.1 文件访问基础
在处理文件时,我们主要关注文本文件,即仅包含字符的文件。为了访问文件内容,需要在Smalltalk中将文件与Stream对象关联起来。之前提到的流具有内部属性,而与文件关联的流则具有外部属性。在VisualWorks的类层次结构中,有InternalStream和ExternalStream类,它们都是PositionableStream的子类。
在VisualWorks里,文件是Filename类的实例,可以通过向包含文件名的字符串发送 asFileName
消息轻松创建文件。例如:
| file |
file := 'textfile.txt' asFilename.
file edit
上述代码会在当前镜像所在目录下创建一个名为 textfile.txt
的新文件,并打开一个简单的文本编辑器窗口,可用于操作和保存文件内容。若该目录下已存在同名文件,则会打开该文件并显示其当前内容。
1.2 文件写入操作
若要使用Smalltalk消息处理文件内容,需先以读或写模式打开文件。下面介绍写入操作:
| file stream |
file := 'textfile.txt' asFilename.
stream := file writeStream