Janet 1.9.1-4ae3722 Documentation
(Other Versions: 1.8.1 1.7.0 1.6.0 1.5.1 1.5.0 1.4.0 1.3.1 )

File Module


file/close file/flush file/open file/popen file/read file/seek file/temp file/write

file/close cfunction
(file/close f)

Close a file and release all related resources. When you are done reading a file, close it to prevent a resource leak and let other processes read the file. If the file is the result of a file/popen call, close waits for and returns the process exit status.

file/flush cfunction
(file/flush f)

Flush any buffered bytes to the file system. In most files, writes are buffered for efficiency reasons. Returns the file handle.

file/open cfunction
(file/open path &opt mode)

Open a file. path is an absolute or relative path, and mode is a set of flags indicating the mode to open the file in. mode is a keyword where each character represents a flag. If the file cannot be opened, returns nil, otherwise returns the new file handle. Mode flags:

	r - allow reading from the file
	w - allow writing to the file
	a - append to the file
	b - open the file in binary mode (rather than text mode)
	+ - append to the file instead of overwriting it

file/popen cfunction
(file/popen path &opt mode)

Open a file that is backed by a process. The file must be opened in either the :r (read) or the :w (write) mode. In :r mode, the stdout of the process can be read from the file. In :w mode, the stdin of the process can be written to. Returns the new file.

file/read cfunction
(file/read f what &opt buf)

Read a number of bytes from a file into a buffer. A buffer can be provided as an optional fourth argument, otherwise a new buffer is created. 'what' can either be an integer or a keyword. Returns the buffer with file contents. Values for 'what':

	:all - read the whole file
	:line - read up to and including the next newline character
	n (integer) - read up to n bytes from the file

file/seek cfunction
(file/seek f &opt whence n)

Jump to a relative location in the file. 'whence' must be one of

	:cur - jump relative to the current file location
	:set - jump relative to the beginning of the file
	:end - jump relative to the end of the file

By default, 'whence' is :cur. Optionally a value n may be passed for the relative number of bytes to seek in the file. n may be a real number to handle large files of more the 4GB. Returns the file handle.

file/temp cfunction

Open an anonymous temporary file that is removed on close.Raises an error on failure.

file/write cfunction
(file/write f bytes)

Writes to a file. 'bytes' must be string, buffer, or symbol. Returns the file.