copyTree function
Copies the contents of the from
directory to the
to
path with an optional filter.
The to
path must exist.
If any copied file already exists in the to
path then
an exeption is throw and a parital copyTree may occured.
You can force the copyTree to overwrite files in the to
directory by setting overwrite
to true (defaults to false).
The recursive
argument controls whether subdirectories are
copied. If recursive
is true (the default) it will copy
subdirectories.
copyTree("/tmp/", "/tmp/new_dir", overwrite:true);
By default hidden files are ignored. To allow hidden files to
be processed set includeHidden
to true.
You can select which files are to be copied by passing a filter
.
If a filter
isn't passed then all files are copied as per
the includeHidden
state.
copyTree("/tmp/", "/tmp/new_dir", overwrite:true, includeHidden:true
, filter: (file) => extension(file) == 'dart');
The filter
method can also be used to report progress as it
is called just before we copy a file.
copyTree("/tmp/", "/tmp/new_dir", overwrite:true
, filter: (file) {
var include = extension(file) == 'dart';
if (include) {
print('copying: $file');
}
return include;
});
The default for overwrite
is false.
If an error occurs a CopyTreeException is thrown.
Implementation
void copyTree(String from, String to,
{bool overwrite = false,
bool includeHidden = false,
bool recursive = true,
bool Function(String file) filter = _allowAll}) =>
_CopyTree().copyTree(from, to,
overwrite: overwrite,
includeHidden: includeHidden,
filter: filter,
recursive: recursive);