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 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:
-
n up to n bytes have been read ByteArray[…] a literal sequence of bytes is encountered EndOfBuffer available content is exhausted EndOfFile the end of the source is reached (default) EndOfLine a 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 allBasic Examples (2)
Scope (5)
Read in the file, explicitly specifying the EndOfFile terminator:
Convert the data to expressions:
Read in the first line of text of Alice in Wonderland as an array of bytes:
Read the first 70 bytes of the United States Constitution:
Read until either 70 bytes have been read or an end of line is encountered:
Open a system shell using StartProcess:
Write a command to the process that generates output:
Read the available output as a byte array:
Convert the bytes to a string and notice that it includes the end-of-line character:
Write the command to the process a second time:
This time, read until the end of line is reached:
The byte array no longer encodes an end of line:
Write a request to the socket:
Read until the byte sequence corresponding to GIF89 is read:
Convert the data in the HTTP header to text:
Options (1)
TimeConstraint (1)
Properties & Relations (5)
ReadByteArray[src] is effectively equivalent to ByteArray[BinaryReadList[src]]:
ReadByteArray[src] is effectively equivalent to StringToByteArray[ReadString[src], "ISO8859-1"]:
ReadByteArray[src,n] reads n bytes at once:
BinaryRead[src] reads one byte at a time:
The data is the same as read in by ReadByteArray:
ReadByteArray[src] is effectively equivalent to StringToByteArray[Import[src,"String"],"ISO8859-1"]:
ImportByteArray[ReadByteArray[src]] is effectively equivalent to Import[src]:
Text
Wolfram Research (2018), ReadByteArray, Wolfram Language function, https://reference.wolfram.com/language/ref/ReadByteArray.html.
CMS
Wolfram Language. 2018. "ReadByteArray." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ReadByteArray.html.
APA
Wolfram Language. (2018). ReadByteArray. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ReadByteArray.html