public static boolean copy(@NonNull final File source, @NonNull final File destination) {
        try {
            if (source.isDirectory()) {
                org.apache.commons.io.FileUtils.copyDirectory(source, destination);
            } else {
                org.apache.commons.io.FileUtils.copyFile(source, destination);
            }
            return true;
        } catch (final IOException e) {
            Log.w("FileUtils.copy: could not copy file", e);
            return false;
        }
    }
Copy a file into another. The directory structure of target file will be created if needed.

@param source      the source file
@param destination the target file
@return true if the copy happened without error, false otherwise
main/src/main/java/cgeo/geocaching/utils/FileUtils.java