打开文件以供 AutoLISP I/O 函数访问
支持的平台:视窗和 Mac OS
签名
(open filename mode [encoding])
-
文件名
-
类型:字符串
要打开的文件的名称和扩展名。如果未指定文件的完整路径名,则假定您引用的是 AutoCAD 默认图形目录。open
-
模式
-
类型:字符串
指示文件是打开以进行读取、写入还是追加。指定包含以下字母之一的字符串:
r打开阅读。
w开放写作。如果文件名不存在,则创建并打开一个新文件。如果文件名已存在,则覆盖其现有数据。传递到打开文件的数据实际上不会写入,直到使用函数关闭文件。close
一个打开以供追加。如果文件名不存在,则创建并打开一个新文件。如果文件名已存在,则会打开它,并将指针定位在现有数据的末尾,因此写入文件的新数据将追加到现有数据中。
mode参数可以是大写或小写。
注意:在 AutoCAD 2000 之前,模式必须以小写形式指定。
- 编码
-
类型:字符串
指示读取文件时要使用的字符编码。如果未为参数提供值,则假定文件包含多字节字符集 (MBCS),这是旧行为。
使用以下值之一指定不同的字符编码:
UTF8UTF-8
UTF8-BOM带字节顺序标记的 UTF-8
返回值
类型:文件或无
如果成功,则返回可由其他 I/O 函数使用的文件描述符。如果指定了模式并且文件名不存在,则返回。open"r"opennil
发布信息
释放:
-
Windows 上的 AutoCAD R12 及更高版本
-
Mac OS 上的 AutoCAD 2011 及更高版本
历史
AutoCAD 2000
- mode参数以前只接受小写值。
例子
- 窗户
-
打开现有文件:
(setq a (open "c:/datafiles/filelist.txt" "r"))
#<file "c:/datafiles/filelist.txt">
以下示例针对不存在的文件发出问题:open
(setq f (open "c:\\my documents\\new.tst" "w"))
#<file "c:\\my documents\\new.tst">
(setq f (open "nosuch.fil" "r"))
nil
(setq f (open "logfile" "a"))
#<file "logfile">
- 苹果操作系统
-
打开现有文件:
(setq a (open "/datafiles/filelist.txt" "r"))
#<file "/datafiles/filelist.txt">
以下示例针对不存在的文件发出问题:open
(setq f (open "/my documents/new.tst" "w"))
#<file "/my documents/new.tst">
(setq f (open "nosuch.fil" "r"))
nil
(setq f (open "logfile" "a"))
#<file "logfile">
|