ファイルへの書き込み1

 ファイルにデータを書き込むのは、ファイルを開く、書き込む、ファイルを閉じる手順で行う。書き込む時は、ファイルを開く際に「with write permission」を指定して、書き込み権を与える必要がある。

try
choose file name with prompt “保存するファイルを選ぶべし” set Filename1 to result
open for access aFile with write permission
try
–set eof aFile to 0
write “山田太郎” to aFile
on error
close access aFile
return
end try
close access aFile
end try

 write命令は、バイト単位で書き込むらしく、書き込むデータの長さより、既存ファイルのデータが長いと、前回のデータが残ってしまう。

既存の内容
 太郎、次郎、三郎
書き込む内容
 山田太郎
結果
 山田太郎郎、三郎

これじゃぁ、既存ファイルに正しくデータを書き込めない。

 上書きしたい時は、ファイルの中身を消去してから書き込めばよいので、ファイルの終わりをintegerバイト目に設定する「set eof」というコマンドを使えばよさそう。

set eof outFile to 0

という様に、ファイルの終端(end of file)を0バイト目に設定すれば、ファイルの中身を消去した事になる。一番上のコードのコメントアウトしてある部分のコメントを外せばよい。これで、上の例でもファイルに「山田太郎」とだけ書き込む事ができる。

 既存のファイルに追加して内容を書き込みたい時は、既存ファイルからEOFの位置を取得して、その次のバイトから書き込めばいいはず。

あわせてこちらの記事もどうぞ

This entry was posted in AppleScript. Bookmark the permalink.