BinaryFile.ReadText
-------------------

Reads text from file.

| Component | Version | macOS | Windows | Linux | Server | iOS SDK |
|---|---|---|---|---|---|---|
| [BinaryFile](component_BinaryFile.md) | [7.3](newinversion73.md) | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |

MBS( "BinaryFile.ReadText"; BinaryFileRef; ByteCount { ; Encoding } ) 

**MBS**( **"BinaryFile.ReadText";** /\* Reads text from file. \*/  
**$BinaryFileRef**; /\* The reference number for the open file.e.g. $FH \*/   
**$ByteCount**; /\* The number of Bytes to read.e.g. 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.e.g. UTF8 \*/ 

### Parameters

| Parameter | Description | Example | Flags |
|---|---|---|---|
| BinaryFileRef | The reference number for the open file. | $FH |  |
| ByteCount | The number of Bytes to read. | 1000 |  |
| Encoding | 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, ISO-8859-1, Latin1, Mac, Native, UTF-8, DOS, Hex, Base64 or Windows. More listed in the [FAQ](https://www.monkeybreadsoftware.com/filemaker/faq.shtml). | UTF8 | Optional |

### Result

Returns OK or error.

### Description

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](TextReadTextFile.md) and [Text.ReadTextFromContainer](TextReadTextFromContainer.md).  
### Examples

Read some text:

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

 Let ( \[  
 path = "/Users/cs/Pictures/test.png";  
 stream = MBS ( "[BinaryFile.Open](BinaryFileOpen.md)"; path );  
 text = MBS ( "BinaryFile.ReadText"; stream; 10; "Windows" );  
 r = MBS ( "[BinaryFile.Close](BinaryFileClose.md)"; stream;);  
 IsPNG = (Position ( text; "PNG"; 1; 1 ) = 2)  
\]; IsPNG )  
  
// returns 1 if file is most likely a PNG as it starts with right bytes.  
// for a [CF](CF.md), path may be a parameter.  
PDF file check:

 Let ( \[  
// returns 1 if file is most likely a PDF as it starts with right bytes.  
// for a [CF](CF.md), path may be a parameter.  
  
path = "/Users/cs/Pictures/test.png";  
stream = MBS ( "[BinaryFile.Open](BinaryFileOpen.md)"; path );  
text = MBS ( "BinaryFile.ReadText"; stream; 4; "Windows" );  
r = MBS ( "[BinaryFile.Close](BinaryFileClose.md)"; stream;);  
IsPDF = (text == "%PDF")  
\]; IsPDF )  
### See also

- [BinaryFile.Length](BinaryFileLength.md)
- [BinaryFile.Open](BinaryFileOpen.md)
- [BinaryFile.ReadByte](BinaryFileReadByte.md)
- [BinaryFile.ReadFloat](BinaryFileReadFloat.md)
- [BinaryFile.ReadHex](BinaryFileReadHex.md)
- [BinaryFile.ReadInt](BinaryFileReadInt.md)
- [BinaryFile.ReadPDF](BinaryFileReadPDF.md)
- [BinaryFile.Seek](BinaryFileSeek.md)
- [BinaryFile.WriteText](BinaryFileWriteText.md)
- [Text.ReadTextFile](TextReadTextFile.md)

### Blog Entries

- [MBS Plugin Advent calendar: 3 - BinaryFile](https://www.mbsplugins.de/archive/2023-12-03/MBS_Plugin_Advent_calendar_3_-/monkeybreadsoftware_blog_filemaker)
- [FileMaker 18 File Script Steps vs. BinaryFile functions](https://www.mbsplugins.de/archive/2019-06-03/FileMaker_18_File_Script_Steps/monkeybreadsoftware_blog_filemaker)

This function checks for a license.

Created 12nd June 2017 , last changed 25th February 2026

  
[BinaryFile.ReadPDF](BinaryFileReadPDF.md) - [BinaryFile.Seek](BinaryFileSeek.md)

[HTML Version](BinaryFileReadText.shtml)