打开 (AutoLISP) 
打开文件以供 AutoLISP I/O 函数访问 
支持的平台:Windows 和 Mac OS 
签名 
   
  (open filename mode [encoding]) 
 -  
  文件名 
 
-  
  
类型:字符串 
 
  要打开的文件的名称和扩展名。如果未指定文件的完整路径名,则假定您指的是 AutoCAD 默认图形目录。open 
  
-  
  模式 
 
-  
  
类型:字符串 
 
  指示文件是打开读取、写入还是追加。指定包含以下字母之一的字符串: 
 
   
	 r 打开供阅读。 
 
   
	 w 开放供写作。如果文件名不存在,则创建并打开一个新文件。如果文件名已存在,则其现有数据将被覆盖。传递到打开的文件的数据实际上不会被写入,直到使用该函数关闭文件。close 
 
   
	 a 开放追加。如果文件名不存在,则创建并打开一个新文件。如果文件名已存在,则打开该文件名,并将指针定位在现有数据的末尾,因此写入文件的新数据将追加到现有数据中。 
 
  mode 参数可以是大写或小写。 
 
  注意:在 AutoCAD 2000 之前,模式必须以小写形式指定。 
 
- 编码
 
-  
  
类型:字符串 
 
  指示读取文件时要使用的字符编码。如果未为参数提供值,则假定文件包含多字节字符集 (MBCS),这是旧行为。 
 
  使用以下值之一指定不同的字符编码: 
 
  UTF8UTF-8 格式 
 
  utf8-bom带字节顺序标记的 UTF-8 
 
 
 
 
 
返回值 
   
  类型:File 或 nil 
 
  如果成功,则返回可由其他 I/O 函数使用的文件描述符。如果指定了 mode 且文件名不存在,则返回 。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"> 
  
- Mac 操作系统
 
-  
  
打开现有文件: 
 
  (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"> 
  
 
 
 
 
    
 |