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

Read

Read[stream]
reads one expression from an input stream, and returns the expression.
Read[stream, type]
reads one object of the specified type.
Read[stream, {type1, type2, ...}]
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 2.e5 or 2E5 as well as 2*^5 can be used to represent the number 2x10^5. 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["name", n], or simply "name" 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:
New in 1 | Last modified in 3