ファイル・インスペクターの読み取り
インスペクター・オブジェクトの encoding
を使用して、関連式でのファイルの読み取りに使用するエンコードを指定できます。
エンコードを指定しない場合、ファイルはローカル・エンコードで読み取られます。encoding
オブジェクトは、file
を読み取るために次のように使用されます。
file "filename" of encoding "encoding"
encoding
には、ICU が認識できる任意の名前 (ISO-8859-1
、Shift_JIS
、UTF-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 folder
や application support folder
など) 用の作成メソッドとともに使用することはできません。これらのフォルダーでは、フォルダーのパスを指定することにより folder
オブジェクトを使用できます。
encoding
オブジェクトを使用したエンコードを持つファイルを開こうとしたときに、ファイルに 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"