ReadString

ReadString["file"]
reads the complete contents of a file and returns it as a string.

ReadString[stream]
reads everything from a stream and returns it as a string.

ReadString[proc]
reads everything generated by an external process and returns it as a string.

ReadString[src,term]
reads until the terminator term is encountered.

Details and OptionsDetails and Options

  • ReadString[File["file"],] is also supported.
  • ReadString["file",] and ReadString[File["file",] will first open "file" for reading if it is not already open. The file will be left open unless the default terminator, EndOfFile, is used.
  • ReadString 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, ReadString waits at most t seconds, then returns whatever it has read by that time.
  • The terminator term can be any of the following:
  • "string"literal string
    pattstring pattern
    EndOfBufferend of the buffer of available content
    EndOfFileend of the source of content (default)
  • ReadString[src] or ReadString[src,EndOfFile] reads until a stream has ended or the external process providing input has terminated.
  • If ReadString reaches the end of the specified source of content without finding the specified terminator, it will generate a message and return what it has read so far.
  • If ReadString is called on a source of content that has already been exhausted, it returns EndOfFile.
  • ReadString[src,EndOfBuffer] does not block and returns whatever is already available in the input buffer.

ExamplesExamplesopen allclose all

Basic Examples  (2)Basic Examples  (2)

Read a complete file into a string:

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

Start the system shell process:

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

Write two commands into the system shell process:

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

Read the system shell output without blocking:

In[4]:=
Click for copyable input
Out[4]=
Introduced in 2014
(10.0)
| Updated in 2016
(11.0)