Janet 1.4.0-655d4b3 Documentation
(Other Versions: 1.4.0 1.3.1)

File Module

Index

file/close file/fdopen file/fileno file/flush file/open file/popen file/read file/seek 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.

file/fdopen cfunction
(file/fdopen fd &opt mode)

Create a file from an fd. fd is a platform specific file descriptor, 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/fileno cfunction
(file/fileno f)

Return the underlying file descriptor for the file as a number.The meaning of this number is platform specific.

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/write cfunction
(file/write f bytes)

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