ファイル・インスペクターの読み取り

インスペクター・オブジェクトの encoding を使用して、関連式でのファイルの読み取りに使用するエンコードを指定できます。

エンコードを指定しない場合、ファイルはローカル・エンコードで読み取られます。encoding オブジェクトは、file を読み取るために次のように使用されます。

 file "filename" of encoding "encoding"

encoding には、ICU が認識できる任意の名前 (ISO-8859-1Shift_JISUTF-8 など) を指定できます。

この encoding オブジェクトと以下のオブジェクトを使用することにより、関連式の動作と結果に作用することができます。

以下に簡単な例を示します。

 (content of file "c:aaabbb.txt" of encoding "Shift_JIS") 
     contains "??"  
     # Shift_JIS で記述された
       「c:\aaa\bbb.txt」というファイルに「??」という単語がある場合に返します
 
     line 3 of file "eee.txt" of folder "/ccc/ddd" of encoding "Windows-1252"  
     # Windows-1252 で記述された「/ccc/ddd/eee.log」というファイルの 3 番目の行を返します
     
     lines of file "/fff/ggg.txt" of encoding "UTF8"
     UTF8 で記述された「/fff/ggg.txt」というファイルの行を返します

     lines of file "/hhh/iii.txt" of encoding "ISO-8859-1"
     ISO-8859-1 で記述された「/hhh/iii.txt」というファイルの行を返します

encoding オブジェクトを使用し、以下にリストされたキーワードの後に追加することによって、file オブジェクトを作成できます。

  • file
  • folder
  • download file
  • download folder
  • find file <string> of <folder>
  • x32 file (Windows のみ)
  • x32 folder (Windows のみ)
  • x64 file (Windows のみ)
  • x64 folder (Windows のみ)
  • native file (Windows のみ)
  • native folder (Windows のみ)
  • symlink (Unix のみ)
  • hfs file (Mac のみ)
  • posix file (Mac のみ)
  • hfs folder (Mac のみ)
  • posix folder (Mac のみ)

encoding オブジェクトは、Mac の特殊フォルダー (apple extras folderapplication support folder など) 用の作成メソッドとともに使用することはできません。これらのフォルダーでは、フォルダーのパスを指定することにより folder オブジェクトを使用できます。

注: encoding オブジェクトを使用したエンコードを持つファイルを開こうとしたときに、ファイルに BOM が含まれている場合、そのファイルは BOM を示すエンコードで開かれます。つまり、指定されたエンコードは無視されます。
注: どちらの理由にせよ、ファイルの BOM がコンテンツのエンコードを反映しない場合、ファイルのライン・インスペクターは U_INVALID_CHAR_FOUND エラーで失敗します。
重要:

file オブジェクトは、作成中に encoding オブジェクトのプロパティーとして評価される必要があります。次のように、関連式にすでに作成されている file オブジェクトにエンコードを指定することはできません。

(file "aaa.txt" of folder "c:test") of encoding "Windows-1252"  
    # 機能しません。エンコードは無視されます。

この関連式では、ファイル C:\test\aaa.txt は、Windows-1252 エンコードではなく、ローカル・エンコードで読み取られます。これは、C:\test\aaa.txt を表すファイル・オブジェクトが括弧で囲まれた式で最初に作成されており、後続の encoding 式は無視されるためです。

次の式では、ファイル C:\test\aaa.txt は Windows-1252 エンコードで読み取られます。
 file "aaa.txt" of folder "c:test" of encoding "Windows-1252"