1

朋友,如何在Squeak4.1中打开一个txt文件,代码应该是这样的:

at: #f put: (FileStream  open: '/root/test'  mode: FileStream read) !
f do: [ :c | Transcript nextPut: c ] !
f close !

任何人都可以就如何打开文件并执行 + - * / 等式给出一些提示吗?先谢谢 :)

4

3 回答 3

1

这应该有效:

|file fileContents|
file := FileStream fileNamed: '/root/test'.
fileContents := file contentsOfEntireFile.
file close.
于 2011-02-15T09:25:22.560 回答
1

我会使用其中一种方法...

fileContents := FileStream 
                   readOnlyFileNamed: '/root/test' 
                   do: [:f | f contents ].

使用上面的块形式自动关闭文件,你不能忘记。或者..

fileContents := (FileStream readOnlyFileNamed: '/root/test') 
                    contentsOfEntireFile.

#contentsOfEntireFile 也会自动关闭文件,您无需再次执行此操作。

在带有块的语言中,当更高阶的方法可用以确保您不必这样做时,手动关闭流是没有意义的。

于 2011-02-15T18:30:57.870 回答
1
|f|
f:=StandardFileStream fileNamed: 'myFile.txt'.
Transcript show: f upToEnd.
f close.

我将 StandardFileStream 用于未检测到 UTF-8 的原始输入并读取 upToEnd,因为读取单个字符不被认为是适当的。

于 2011-02-15T21:14:35.867 回答