ファイル・インスペクターの読み取り
インスペクター・オブジェクトの 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"