write 様々な値 to 整数1 | ファイル参照 [for 整数2] [starting at 整数3] [as クラス識別子]
様々な値 | 書き込むデータ |
整数1 | データを書くファイルのファイル参照番号 (open for accessの結果で得られる値) |
ファイル参照 | データを書くファイル alias "..." か file "..."の形式 |
整数2 | 書き込むデータの長さ |
整数3 | ファイルを書き込む位置 |
クラス識別子 | どのデータ型で書き込みするか |
ファイルに書き込むには、open for accessでwrite permission trueにしておく必要がある。
ファイルを上書きする場合で、書き込むファイルが以前より小さいときは、eofが移動せず以前のままなので、書き込む前にset eof命令でeofを0にセットするのがいいようだ。
write実行後、書き込み開始地点(ファイルマーク)が移動するので、さらにwriteを実行すると続きが書き込まれる。
open for access命令を使わずに書いた場合、write命令の前後で暗黙にファイルが開かれ、また閉じられる。この場合の書式は簡単に済むが、当然ファイルマークを利用することができず速度も遅い。
さらに、既に存在しているファイルでないと指定できず、ファイルサイズが小さくなってもeofは移動しない(例2)
書き込み可能なデータ形式については、詳しくはAppleScript Scripting Additions Guide English DialectのwriteとUsing Read/Write Commandsの項を参照してほしい。
try
set fPointer to open for access (new file) write permission true
set eof fPointer to 0
write "テスト用テキストです。" to fPointer
on error
end try
close access fPointer
write "テスト用テキストです。" to (choose file)