无法读取文字文件。
READ:输入流#1 =#已到达终点 [SYSTEM :: SIMPLE-END-OF-FILE]的条件
什么方式“已经到了终点。”
答案 0 :(得分:4)
查看HyperSpec的文档:
http://www.lispworks.com/documentation/HyperSpec/Body/f_rd_rd.htm
默认情况下,当没有更多数据要从流中读取时,READ
,READ-CHAR
和类似函数会发出END-OF-FILE
类型的条件。
如果您希望在尝试读取流的末尾时返回特定值,则需要将nil
传递给函数的eof-error-p
参数,并且函数的eof-value
参数的值,符号或关键字;这是在到达文件/流末尾时将返回的数据。
例如,如果您是从一段文字中单独阅读字符:
(with-open-file (s somefile :direction :input)
(do ((c (read-char s nil :eof)
(read-char s nil :eof)))
((eql c :eof) 'done)
(process-char c)))
答案 1 :(得分:2)
这意味着您已经阅读了打开流所在位置的所有可用数据,然后您尝试阅读更多内容。