/// <summary>
        /// 移动占用空间比较大的文件。
        /// </summary>
        /// <param name="sourceFileUrl">需要被移动的文件的文件地址。</param>
        /// <param name="targetFileUrl">移动操作的目标地址。</param>
        /// <param name="transmissionSize">每一次传输的大小,通常这个值设定为1024即可。</param>
        /// <param name="isCheckFileIntegrity">移动文件之后是否执行完整性检验。</param>
        /// <exception cref="AbortedCheckOperationException">当文件完整性检查失败或者结果不符合要求时,则会抛出这个异常。</exception>
        public static void MoveBigFile(string sourceFileUrl, string targetFileUrl, int transmissionSize, bool isCheckFileIntegrity)
        {
            FileSignature sourceSignature = new FileSignature(sourceFileUrl);
            FileSignature targetSignature = new FileSignature(targetFileUrl);
            ExString      srcMd5Value     = string.Empty;
            ExString      targetMd5Value  = string.Empty;

            CopyBigFile(sourceFileUrl, targetFileUrl, transmissionSize);
            if (isCheckFileIntegrity)
            {
                srcMd5Value    = sourceSignature.GetMD5String();
                targetMd5Value = targetSignature.GetMD5String();
                if (!srcMd5Value.Equals(targetMd5Value))
                {
                    throw new AbortedCheckOperationException();
                }
            }
            DeleteFile(sourceFileUrl);
        }