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
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 |