open (AutoLISP)

AutoLISP の入出力関数がアクセスできるようにファイルを開きます。

サポートされているプラットフォーム: Windows、Mac OS、Web

構文と要素

(open filename mode [encoding])
filename

タイプ: 文字列

開くファイルの名前と拡張子。ファイルの絶対パスを指定しなかった場合、open は AutoCAD の既定の図面フォルダを指定したものとみします。

mode

タイプ: 文字列

ファイルを読み込みモード、書き出しモード、追加モードのいずれで開くかを指定します。次の文字のいずれか 1 つを含む文字列を指定してください。

r 読み込みモードで開きます。

w 書き出しモードで開きます。filename 引数のファイルが存在しない場合、新しいファイルが作成され、開かれます。filename 引数のファイルが既に存在する場合、既存のデータが上書きされます。開いたファイルに渡されたデータは、close 関数でそのファイルを閉じるまで、実際には書き出されません。

a 追加モードで開きます。filename 引数のファイルが存在しない場合、新しいファイルが作成され、開かれます。filename 引数のファイルが存在する場合、開いた後ポインタが既存のデータの終わりに移動するので、ファイルに書き出される新しいデータは既存のデータの後ろに追加されます。

mode 引数は、大文字でも小文字でもかまいません。

注: AutoCAD 2000 より前は、mode を小文字で指定する必要がありました。
encoding

タイプ: 文字列

ファイルの読み込み時に使用する文字エンコードを示します。引数に値が指定されていない場合、ファイルには従来の動作であるマルチバイト文字セット(MBCS)が含まれているとみなされます。

他の文字エンコードを指定するには、次の値のいずれかを使用します。

utf8 UTF-8

utf8-bom UTF-8 (バイト オーダー マーク付き)

戻り値

タイプ: ファイルまたは nil

ファイルを正常に開くことができた場合、open 関数は、他の入出力関数で使用可能なファイル ディスクリプタを返します。mode 引数に"r" が指定され、filename 引数のファイルが存在しない場合、open 関数は nil を返します。

リリース情報

履歴

Windows

次のように、既存のファイルを開きます。

(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 OS および Web

次のように、既存のファイルを開きます。

(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">