This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)

Read

Read[stream]
reads one expression from an input stream and returns the expression.
Read
reads one object of the specified type.
Read
reads a sequence of objects of the specified types.
  • Possible types to read are:
Bytesingle byte, returned as an integer code
Charactersingle character, returned as a one-character string
Expressioncomplete Mathematica expression
Numberinteger or an approximate number, given in "E" format
Realapproximate number, given in "E" format
Recordsequence of characters delimited by record separators
Stringstring terminated by a newline
Wordsequence of characters delimited by word separators
  • Objects of type Real can be given in the scientific notation format used by languages such as C and Fortran, as well as in standard Mathematica format. A form like or as well as can be used to represent the number . Objects read as type Real are always returned as approximate numbers. Objects read as type Number are returned as integers if they contain no explicit decimal points.
  • The following options can be given:
NullRecordsFalsewhether to assume a null record between repeated record separators
NullWordsFalsewhether to assume a null word between repeated word separators
RecordSeparators{"\r\n","\n","\r"}separators allowed between records
TokenWords{}words taken as delimiters
WordSeparators{" ","\t"}separators allowed between words
  • Objects of type String must be terminated by newlines.
  • You can specify any nested list of types for Read to look for. Each successive object read will be placed in the next position in the list structure. A depth-first traversal of the list structure is used.
  • Read[stream, {Number, Number}] reads a pair of numbers from an input stream, and gives the result as a two-element list.
  • You can use Read to get objects to insert into any expression structure, not necessarily a list. Example: Read[stream, Hold[Expression]] gets an expression and places it inside Hold.
  • The first argument to Read can be InputStream, or simply if there is only one open input stream with the specified name.
  • There is always a "current point" maintained for any stream. When you read an object from a stream, the current point is left after the input you read. Successive calls to Read can therefore be used to read successive objects in a stream such as a file.
  • Read returns EndOfFile for each object you try to read after you have reached the end of a file.
  • Read returns $Failed if it cannot read an object of the type you requested.
  • If there is a syntax error in a Mathematica expression that you try to read, then Read leaves the current point at the position of the error, and returns $Failed.
Open a stream:
Read expressions from the stream:
Open a stream:
Read numbers from the stream:
Read words and numbers:
Close the stream:
Open a stream:
In[1]:=
Click for copyable input
Out[1]=
Read expressions from the stream:
In[2]:=
Click for copyable input
Out[2]=
 
Open a stream:
In[1]:=
Click for copyable input
Out[1]=
Read numbers from the stream:
In[2]:=
Click for copyable input
Out[2]=
Read words and numbers:
In[3]:=
Click for copyable input
Out[3]=
Close the stream:
In[4]:=
Click for copyable input
Out[4]=
New in 1 | Last modified in 3