Package: gio

Interface gio:file

Superclasses

gobject:object, common-lisp:standard-object, common-lisp:t

Documented Subclasses

None

Direct Slots

None

Details

The g:file interface is a high level abstraction for manipulating files on a virtual file system. The g:file objects are lightweight, immutable objects that do no I/O upon creation. It is necessary to understand that g:file objects do not represent files, merely an identifier for a file. All file content I/O is implemented as streaming operations, see GInputStream and GOutputStream.

To construct a g:file object, you can use the g:file-new-for-path function if you have a path, the g:file-new-for-uri function if you have a URI, the g:file-new-for-commandline-arg function for a command line argument, the g:file-parse-name function from a UTF-8 string gotten from the g:file-get-parse-name function.

One way to think of a g:file object is as an abstraction of a pathname. For normal files the system pathname is what is stored internally, but as g:file objects are extensible it could also be something else that corresponds to a pathname in a userspace implementation of a filesystem.
 

Returned by

Inherited Slot Access Functions

See also

2024-10-12