gives the contents of src as a ByteArray object.


reads the first n bytes from src.


reads until the termination condition term is satisfied.

Details and Options

  • In ReadByteArray[src,], src can be a file given as "filename" or File["filename"], an input-oriented stream such as InputStream or an external process with head ProcessObject.
  • ReadByteArray["file",] and ReadByteArray[File["file"],] will open "file" for reading if it is not already open. In this case, the file will be closed after reading if the default terminator, EndOfFile, is used.
  • The termination condition term can be any of the following:
  • nup to n bytes have been read
    ByteArray[]a literal sequence of bytes is encountered
    EndOfBufferavailable content is exhausted
    EndOfFilethe end of the source is reached (default)
    EndOfLinea byte sequence corresponding to ends of lines
    {term1,term2,}any of the termi
  • If the termination condition consists of a byte sequence, that sequence is simply dropped and is not returned as part of the byte array.
  • ReadByteArray[src] or ReadByteArray[src,EndOfFile] reads from the current position until a stream has ended or the external process providing input has terminated.
  • If ReadByteArray is called on a source of content that has already been exhausted, it returns EndOfFile.
  • ReadByteArray is a blocking function that by default will not return until it has read whatever it is specified to read.
  • With the option setting TimeConstraint->t, ReadByteArray waits at most t seconds, then returns whatever it has read by that time.
  • ReadByteArray[src,EndOfBuffer] does not block, and returns whatever is already available in the input buffer.


open all close all

Basic Examples  (2)

Read in an image file as a byte array:

Click for copyable input

The byte array contains the contents of the file for further manipulation:

Click for copyable input

Export text to a file:

Click for copyable input

Read in the file as a byte array:

Click for copyable input

View the individual bytes:

Click for copyable input

Convert the bytes back to a string:

Click for copyable input

Scope  (5)

Options  (1)

Properties & Relations  (5)

Introduced in 2018