create_async


Description:

public virtual async FileOutputStream create_async (FileCreateFlags flags, int io_priority = DEFAULT, Cancellable? cancellable = null) throws Error

Asynchronously creates a new file and returns an output stream for writing to it.

The file must not already exist.

For more details, see create which is the synchronous version of this call.

When the operation is finished, callback will be called. You can then call create_async.end to get the result of the operation.

Example: Create a file async:

public static int main (string[] args) {
MainLoop loop = new MainLoop ();

// Create a file that can only be accessed by the current user:
File file = File.new_for_path ("my-test.txt");
file.create_async.begin (FileCreateFlags.PRIVATE, Priority.DEFAULT, null, (obj, res) => {
try {
FileOutputStream os = file.create_async.end (res);
os.write ("My first line\n".data);
print ("Created.\n");
} catch (Error e) {
print ("Error: %s\n", e.message);
}

loop.quit ();
});

loop.run ();
return 0;
}

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

Parameters:

this

input File

flags

a set of FileCreateFlags

io_priority

the I/O priority of the request

cancellable

optional Cancellable object, null to ignore

callback

a TaskReadyCallback to call when the request is satisfied

user_data

the data to pass to callback function