• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:AppleScriptファイルの読み書きについて)

AppleScriptファイルの読み書き方法

このQ&Aのポイント
  • Applescriptを使ってテキストファイルの読み込みと検索置換を行う方法について初心者向けに解説します。
  • 質問者はテキストファイルを読み込み検索置換するApplescriptを作成していますが、ファイルの上書き方法について困っています。
  • エラーが発生しても対処できない質問者のために、ファイルの上書き方法についてアドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.1

read、writeするとき、かならず読み書きを失敗したときの処理を行うようにしてください。 おそらくうまくいかないのは、エラーが起きて失敗したあとに再度試行するときに、ファイルが閉じられていないからだと思われます。エラーが起きても、ファイルを閉じるようにします。 読み込み: try set fn to open for access file thefile with write permission set mystr to read fn -- 全ての内容を得る on error close access fn return end try 書き込み: try write mystr to fn on error close access fn return end try close access fn また、readでは、どこまで読み込むか明示しないと、うまく読み込めないようです。 set mystr to read fn for (get eof fn) -- 最初からEOFまで読み込む writeでは、置換前の文字数より、置換後の文字数が減った場合、最後に置換前のゴミが残ってしまうので、EOFを書き込むようにしましょう。 write mystr to fn set eof fn to (length of mystr + 1)

ADJUSTLIGHT
質問者

お礼

こんなに早く回答していただいてびっくりしました。 とても親切に教えて頂いてありがとうございます。 早速試してみます。

ADJUSTLIGHT
質問者

補足

最初うまくいかずいろいろ試したところ 下記の部分を write mystr to fn set eof fn to (length of mystr + 1) 修正後 set eof fn to 0 write mystr to fn としたところうまく動作しました。 harawoさんありがとうございました。