Write - Maple Help

FileTools[Binary]

 Write
 write binary data to a file
 WriteFile
 write binary data to a file and close the file

 Calling Sequence Write(file, rtab, opts, ...) Write(file, type, data, opts, ...) WriteFile(file, rtab, opt1, opts, ...) WriteFile(file, type, data, opts, ...)

Parameters

 file - file descriptor or filename type - type of data to write data - set or list rtab - rtable opts, ... - (optional) arguments of the form 'name' or 'name'=value

Description

 • The Write(file, rtab) and WriteFile(file, rtab) commands write the elements from the rtable rtab to file.  The type used in the file encoding is automatically determined from rtab.  Therefore, the data type of rtab must be supported by Write.
 • The Write(file, type, data) and WriteFile(file, type, data) commands write the elements from data to file in type format.
 • The following are valid values for type: integer[1], integer[2], integer[4], integer[8], float[4], float[8].  These types represent hardware data types. The integer[n] is an n byte integer, and float[n] is an n byte float.
 • There are two optional arguments for the Write command: byteorder and notrunc.
 • The byteorder argument specifies the order in which bytes are written for multi-byte data types.  The byteorder function can have one of four values: big, little, network, and native.
 - big and little specify big endian and little endian, respectively
 - network specifies network ordering (big endian)
 - native uses the byte ordering of the current platform
 If byteorder is not specified, it defaults to network.
 • The default byte order for Write and Read is a system independent format.  This means that if the default is used, then binary files can be exchanged across platforms without conversion.
 • The notrunc argument controls the behavior when an integer value does not fit in the given hardware type.  By default, the integer is truncated and written as the hardware value nearest to the requested value.  If notrunc is specified, an exception is raised and the write will be incomplete.  The notrunc argument has no effect when writing floating-point values.  Floats with large positive exponents are represented as positive or negative floating-point infinity, (see Float).  Those with large negative exponents are represented by floating-point zero.
 • If file is the name of a file that has not been opened, Maple attempts to open the file before attempting to read the data.
 • An error is raised if file is not a valid descriptor or if it is the name of a file that does not exist.
 • WriteFile behaves identically to Write, except that if the file is not open prior to calling WriteFile, it will be closed before returning.  Therefore, WriteFile offers a convenient syntax to write the data to disk with a single command, without the need to open or close the file explicitly.

Examples

 > $\mathrm{num}≔1{256}^{3}+2{256}^{2}+3\cdot 256+4$
 ${\mathrm{num}}{≔}{1690960}$ (1)
 > $\mathrm{num2}≔4{256}^{3}+3{256}^{2}+2\cdot 256+1$
 ${\mathrm{num2}}{≔}{67305985}$ (2)
 > $\mathrm{FileTools}\left[\mathrm{Binary}\right]\left[\mathrm{Write}\right]\left("testfile",\mathrm{integer}\left[4\right],\left[\mathrm{num}\right]\right)$
 ${4}$ (3)
 > $\mathrm{FileTools}\left[\mathrm{Binary}\right]\left[\mathrm{Close}\right]\left("testfile"\right):$
 > $\mathrm{FileTools}\left[\mathrm{Binary}\right]\left[\mathrm{Read}\right]\left("testfile",\mathrm{integer}\left[4\right]\right)$
 $\left[{16909060}\right]$ (4)
 > $\mathrm{FileTools}\left[\mathrm{Binary}\right]\left[\mathrm{Close}\right]\left("testfile"\right):$
 > $\mathrm{FileTools}\left[\mathrm{Binary}\right]\left[\mathrm{Read}\right]\left("testfile",\mathrm{integer}\left[4\right],'\mathrm{byteorder}'='\mathrm{little}'\right)$
 $\left[{67305985}\right]$ (5)
 > $\mathrm{FileTools}\left[\mathrm{Remove}\right]\left("testfile"\right)$
 > $\mathrm{FileTools}\left[\mathrm{Binary}\right]\left[\mathrm{WriteFile}\right]\left("testfile",\mathrm{integer}\left[4\right],\left[\mathrm{num}\right]\right)$
 ${4}$ (6)
 > $\mathrm{FileTools}\left[\mathrm{Binary}\right]\left[\mathrm{Read}\right]\left("testfile",\mathrm{integer}\left[4\right]\right)$
 $\left[{16909060}\right]$ (7)
 > $\mathrm{FileTools}\left[\mathrm{Remove}\right]\left("testfile"\right)$

Compatibility

 • The FileTools[Binary][WriteFile] command was introduced in Maple 18.