[ CCode ( vfunc_name = "delete_file" ) ]
public abstract bool @delete (Cancellable? cancellable = null) throws Error
Deletes a file.
If the this is a directory, it will only be deleted if it is empty. This has the same semantics as unlink.
If this doesn’t exist, g_io_error_not_found will be returned. This allows for deletion to be implemented avoiding time-of-check to time-of-use races:
g_autoptr(GError) local_error = NULL;
if (!g_file_delete (my_file, my_cancellable, &local_error) &&
!g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
{
// deletion failed for some reason other than the file not existing:
// so report the error
g_warning ("Failed to delete %s: %s",
g_file_peek_path (my_file), local_error->message);
}
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.
Example: Delete a file, sync:
public static int main (string[] args) {
// Delete my-test.txt:
File file = File.new_for_path ("my-test.txt");
try {
file.delete ();
} catch (Error e) {
print ("Error: %s\n", e.message);
}
return 0;
}
valac --pkg gio-2.0 GLib.File.delete.vala
this |
input File |
cancellable |
optional Cancellable object, null to ignore |
true if the file was deleted. false otherwise. |