ReadByteArray

ReadByteArray[src]

gives the contents of src as a ByteArray object.

ReadByteArray[src,n]

reads the first n bytes from src.

ReadByteArray[src,term]

reads until the termination condition term is satisfied.

Details and Options

  • In ReadByteArray[src,], src can be file given as "filename" or File["filename"], an input-oriented stream with 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.

Examples

open allclose all

Basic Examples  (2)

Read in an image file as a byte array:

In[1]:=
Click for copyable input
Out[1]=

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

In[2]:=
Click for copyable input
Out[2]=

Export text to a file:

In[1]:=
Click for copyable input

Read in the file as a byte array:

In[2]:=
Click for copyable input
Out[2]=

View the individual bytes:

In[3]:=
Click for copyable input
Out[3]=

Convert the bytes back to a string:

In[4]:=
Click for copyable input
Out[4]=

Scope  (5)

Options  (1)

Properties & Relations  (5)

See Also

BinaryReadList  BinaryWrite  ReadString  ProcessObject  InputStream  LinkRead  ByteArray  ImportByteArray

Introduced in 2018
(11.3)