Reading file inspectors
You can use the inspector object encoding
to specify an encoding to
be used to read file in a relevance expression.
If you don't specify any encoding, the files are read in the local encoding. The
encoding
object is used to read a file
as the
following:
file "filename" of encoding "encoding"
The encoding
might be any name which ICU can recognize, such as
ISO-8859-1
, Shift_JIS
, and UTF-8
.
Using this encoding
object, you can affect the behaviors and results of
relevance expressions using the following objects:
Here some simple examples:
(content of file "c:\aaa\bbb.txt" of encoding "Shift_JIS") contains "??" # Return if the word "??" is found in the file "c:\aaa\bbb.txt" that is written in Shift_JIS line 3 of file "eee.txt" of folder "/ccc/ddd" of encoding "Windows-1252" # Return the third line of the file "/ccc/ddd/eee.log" in Windows-1252 lines of file "/fff/ggg.txt" of encoding "UTF8" Return the lines of the file "/fff/ggg.txt" in UTF8 lines of file "/hhh/iii.txt" of encoding "ISO-8859-1" Return the lines of the file "/hhh/iii.txt" in ISO-8859-1
You can use the encoding
object by adding it after the keywords listed below to
create file
objects:
- file
- folder
- download file
- download folder
- find file <string> of <folder>
- x32 file (Windows only)
- x32 folder (Windows only)
- x64 file (Windows only)
- x64 folder (Windows only)
- native file (Windows only)
- native folder (Windows only)
- symlink (Unix only)
- hfs file (Mac only)
- posix file (Mac only)
- hfs folder (Mac only)
- posix folder (Mac only)
The encoding
object cannot be used with creation methods for Mac's special
folders such as apple extras folder
, or application support
folder
. For such folders, you can uses the folder
object by specifying
their paths.
encoding
object and the
file has a BOM, the file is opened in the encoding indicating the BOM; that is, the specified
encoding is ignored.U_INVALID_CHAR_FOUND
error.The file
objects must be evaluated as a property of the
encoding
object during its creation. You cannot specify any encoding to
file
objects which are already created in the relevance expression:
(file "aaa.txt" of folder "c:\test") of encoding "Windows-1252" # Not work. The encoding will be ignored.
In this relevance expression, the file C:\test\aaa.txt
is read in the local
encoding, not the Windows-1252 encoding, because a file object representing
C:\test\aaa.txt
is created first with the expression enclosed parenthesis and the
subsequent encoding
expression is ignored.
C:\test\aaa.txt
is read in the Windows-1252
encoding:file "aaa.txt" of folder "c:\test" of encoding "Windows-1252"