Topics   All   Mac OS X (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server   Client   Old   Guides   Examples
New in version: 8.0   8.1   8.2   8.3   8.4   8.5   9.0   9.1   9.2   9.3    Statistic  


Reads text from file.

Component Version macOS Windows Server FileMaker Cloud FileMaker iOS SDK
BinaryFile 7.3 Yes Yes Yes Yes Yes
MBS( "BinaryFile.ReadText"; BinaryFileRef; ByteCount { ; Encoding } )   More


Parameter Description Example value
BinaryFileRef The reference number for the open file. $FH
ByteCount The number of Bytes to read. 1000
Encoding Optional
The text encoding for result.
Default is native. This function can also handle UTF-16 as well as UTF-16LE and UTF-16BE for little/big endian byte order.
Possible encoding names: ANSI, Arabic-Mac, Arabic-Win, Baltic-Win, CentralEurope-Mac, ChineseSimp-Mac, ChineseSimp-Win, ChineseTrad-Mac, ChineseTrad-Win, Cyrillic-Mac, Cyrillic-Win, EasternEurope-Win, Greek-Mac, Greek-Win, Hebrew-Mac, Hebrew-Win, ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-15, Korean-Johab, Korean-Mac, Korean-Win, Latin1, Mac, Native, ShiftJIS-Mac, ShiftJIS-Win, Turkish-Mac, Turkish-Win, UTF-8, DOS or Windows. Pass native to use the native encoding of the current platform.


Returns OK or error.


Reads text from file.
You have to decide which encoding to use (if not UTF8). We support a few encodings, but we can add more if you need something special. Some characters will be wrong if the encoding is not correct.
The read text may be shorter than requested if you hit end of file.

When passing UTF-16 as encoding, we can detect byte order if there is a Byte Order Mark.

See also Text.ReadTextFile and Text.ReadTextFromContainer.


Read some text:

Set Variable [ $fh ; Value: MBS( "BinaryFile.Open"; "/Users/cs/Desktop/test.txt" ) ]
Set Variable [ $len ; Value: MBS("BinaryFile.Length"; $fh) ]
Set Variable [ $text ; Value: MBS( "BinaryFile.ReadText"; $fh; $len; "UTF-8" ) ]
Set Field [ test::ContainerField ; $text ]
Set Variable [ $r ; Value: MBS( "BinaryFile.Close"; $fh) ]

See also

Created 12nd June 2017, last changed 12nd June 2017

BinaryFile.ReadPDF   -   BinaryFile.Seek

Feedback: Report problem or ask question.

MBS FileMaker blog