Exemple #1
0
        /// <summary>
        /// 重命名文件,加入文件MD5字符串。
        /// 写入路径的长度(一字节),写入路径,以及对应的文件MD5。
        /// </summary>
        /// <param name="filePath">File path.</param>
        /// <param name="replacePath">Replace path.</param>
        /// <param name="writer">Writer.</param>
        private static void RenameFileAndWriteMD5(string filePath, string replacePath, BinaryWriter writer)
        {
            string extName     = Path.GetExtension(filePath);
            string fileName    = Path.GetFileName(filePath);
            string fileMD5     = MD5Util.GetFileMD5(filePath);
            string outFileName = fileName.Replace(extName, "") + "_" + fileMD5;
            string outFilePath = Path.GetDirectoryName(filePath) + "/" + outFileName + extName;

            File.Move(filePath, outFilePath);                                  // 重命名文件

            filePath = filePath.Replace(replacePath, "").Replace(extName, ""); // 文件路径掐头去尾

            writer.Write((byte)filePath.Length);                               // 写入路径的长度(一字节)
            writer.Write(filePath.ToCharArray());                              // 写入路径
            writer.Write(fileMD5.ToCharArray());                               // 写入文件MD5
        }