since: 2.56


g_file_load_bytes (
  GFile* file,
  GCancellable* cancellable,
  gchar** etag_out,
  GError** error


Loads the contents of file and returns it as GBytes.

If file is a resource:// based URI, the resulting bytes will reference the embedded resource instead of a copy. Otherwise, this is equivalent to calling g_file_load_contents() and g_bytes_new_take().

For resources, etag_out will be set to NULL.

The data contained in the resulting GBytes is always zero-terminated, but this is not included in the GBytes length. The resulting GBytes should be freed with g_bytes_unref() when no longer in use.

Available since: 2.56



Type: GCancellable

A GCancellable or NULL.

The argument can be NULL.
The data is owned by the caller of the function.

Type: gchar**

A location to place the current entity tag for the file, or NULL if the entity tag is not needed.

The argument will be set by the function.
The argument can be set to NULL by the method.
The argument can be NULL.
The instance takes ownership of the data, and is responsible for freeing it.
The value is a NUL terminated UTF-8 string.

Type: GError **

The return location for a recoverable error.

The argument can be NULL.
If the return location is not NULL, then you must initialize it to a NULL GError*.
The argument will left initialized to NULL by the method if there are no errors.
In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.

Return value

Type: GBytes

A GBytes or NULL and error is set.

The caller of the method takes ownership of the data, and is responsible for freeing it.