Lesson 10: File I/O
Toka provides functionality roughly identical to the standard C file I/O functionality (fopen, fread, etc).
file.open ( $m-n ) Open a specified file with
the specified mode.
file.close ( n- ) Close the specified file handle
file.read ( nbl-r ) Read 'l' bytes into buffer 'b'
from file handle 'n'. Returns
the number of bytes read.
file.write ( nbl-w ) Write 'l' bytes from buffer 'b'
to file handle 'n'. Returns
the number of bytes written.
file.size ( n-s ) Return the size (in bytes)
of the specified file.
file.seek ( nom-a ) Seek a new position in the
file. Valid modes are
START, CURRENT, and END. These
have values of 1, 2, and 3.
file.pos ( n-a ) Return a pointer to the current
offset into the file.
file.slurp ( $-a ) Read file '$' into a new buffer.
"R" ( -x ) Mode for file.open
"R+" ( -x ) Mode for file.open
"W" ( -x ) Mode for file.open
"W+" ( -x ) Mode for file.open
"A" ( -x ) Mode for file.open
"A+" ( -x ) Mode for file.open
START ( -x ) Mode for file.seek
CURRENT ( -x ) Mode for file.seek
END ( -x ) Mode for file.seek
Examples
variable fid " /etc/motd" "R" file.open fid ! fid @ file.size . fid @ file.close " /etc/motd" file.slurp [ type cr ] ifTrue
changed September 16, 2007