FileInfo


Object Hierarchy:

Object hierarchy for FileInfo

Description:

[ CCode ( type_id = "g_file_info_get_type ()" ) ]
public class FileInfo : Object

Stores information about a file system object referenced by a [iface@Gio.

File].

Functionality for manipulating basic metadata for files. `GFileInfo` implements methods for getting information that all files should contain, and allows for manipulation of extended attributes.

See the [file attributes](file-attributes.html) document for more information on how GIO handles file attributes.

To obtain a `GFileInfo` for a [iface@Gio.File], use [method@Gio.File.query_info] (or its async variant). To obtain a `GFileInfo` for a file input or output stream, use [method@Gio.FileInputStream.query_info] or [method@Gio.FileOutputStream.query_info] (or their async variants).

To change the actual attributes of a file, you should then set the attribute in the `GFileInfo` and call [ method@Gio.File.set_attributes_from_info] or [method@Gio.File.set_attributes_async] on a `GFile`.

However, not all attributes can be changed in the file. For instance, the actual size of a file cannot be changed via [ method@Gio.FileInfo.set_size]. You may call [method@Gio.File.query_settable_attributes] and [method@Gio.File.query_writable_namespaces] to discover the settable attributes of a particular file at runtime.

The direct accessors, such as [method@Gio.FileInfo.get_name], are slightly more optimized than the generic attribute accessors, such as [ method@Gio.FileInfo.get_attribute_byte_string].This optimization will matter only if calling the API in a tight loop.

It is an error to call these accessors without specifying their required file attributes when creating the `GFileInfo`. Use [ method@Gio.FileInfo.has_attribute] or [method@Gio.FileInfo.list_attributes] to check what attributes are specified for a `GFileInfo`.

[struct@Gio.FileAttributeMatcher] allows for searching through a `GFileInfo` for attributes.


Namespace: GLib
Package: gio-2.0

Content:

Creation methods:

Methods:

Inherited Members: