public abstract FileInfo query_info (string attributes, FileQueryInfoFlags flags, Cancellable? cancellable = null) throws Error

Gets the requested information about specified this.

The result is a FileInfo object that contains key-value attributes (such as the type or size of the file).

The attributes value is a string that specifies the file attributes that should be gathered. It is not an error if it's not possible to read a particular requested attribute from a file - it just won't be set. attributes should be a comma-separated list of attributes or attribute wildcards. The wildcard "*" means all attributes, and a wildcard like "standard::*" means all attributes in the standard namespace. An example attribute query be "standard::*,owner:GFile:user". The standard attributes are available as defines, like g_file_attribute_standard_name.

If cancellable is not null, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error g_io_error_cancelled will be returned.

For symlinks, normally the information about the target of the symlink is returned, rather than information about the symlink itself. However if you pass g_file_query_info_nofollow_symlinks in flags the information about the symlink itself will be returned. Also, for symlinks that point to non-existing files the information about the symlink itself will be returned.

If the file does not exist, the g_io_error_not_found error will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on.

Example: FileInfo, sync:

public static int main (string[] args) {
if (args.length != 2) {
print ("%s FILE\n", args[0]);
return 0;

try {
File file = File.new_for_commandline_arg (args[1]);
FileInfo info = file.query_info ("standard::icon", 0);
Icon icon = info.get_icon ();
print ("%s\n", icon.to_string ());
} catch (Error e) {
print ("Error: %s\n", e.message);
return 0;

valac --pkg gio-2.0 GLib.File.query_info.vala



input File


an attribute query string


a set of FileQueryInfoFlags


optional Cancellable object, null to ignore


a FileInfo for the given this, or null on error. Free the returned object with unref.