public static string getFileMd5(string fileurl)
{
string strmd5 = "";
if (File.Exists(fileurl) == true)
{
using (FileStream fileStream = new FileStream(fileurl, FileMode.Open))
{
byte[] bytes = new byte[fileStream.Length];
fileStream.Read(bytes, 0, int.Parse(fileStream.Length + ""));
MD5 md5 = MD5.Create();
byte[] bMd5 = md5.ComputeHash(bytes);
md5.Clear();
for (int i = 0; i < bMd5.Length; i++)
{
strmd5 += bMd5[i].ToString("x").PadLeft(2, '0');
}
fileStream.Close();
fileStream.Dispose();
}
}
else
{
Debug.LogError(fileurl + "文件不存在");
}
return strmd5;
}
要记得加上命名空间using System.IO;
private static void WriteAssetBundleMd5File(string path, string curVersion)
{
string fileName = "asset-bundle-md5.txt";
string filePath = Path.Combine(path, fileName);
if (File.Exists(filePath))
{
File.Delete(filePath);
}
using (StreamWriter sw = new StreamWriter(filePath))
{
sw.WriteLine(curVersion);
//参数为资源包临时存放路径,路径和打包平台相关
DirectoryInfo di = new DirectoryInfo(BundleUrlSetting.BundlesPathForTemp);
FileInfo[] fis = di.GetFiles();
foreach (var fi in fis)
{
if (fi.Extension == ".manifest")
{
continue;
}
string md5 = FileUtils.getFileMd5(fi.FullName);
sw.WriteLine(fi.Name + “|” + md5);
}
}
}
这两段代码中有个人程序字段,需选择性参考