对文件生成MD5文件配置表
开发目的:
用于游戏开发热更新中对于游戏文件的版本比对
使用.net core (vs2019)
class Program{static string currentVersion = "1.0";static void Main(string[] args){Console.WriteLine("Start");string path = System.Environment.CurrentDirectory + @"\xxupdate";Console.WriteLine(path);//读取本地所有文件List<string> fileList = GetDicFiles(path);//生成对应md5List<string> configList = new List<string>();foreach (var file in fileList){FileStream fs = new FileStream(Environment.CurrentDirectory + "/" + file, FileMode.Open);string md5 = GenerateMD5(fs);string configstr = file + "," + md5;Console.WriteLine(configstr);configList.Add(configstr);fs.Close();}string configPath = Environment.CurrentDirectory + @"\UpdateConfig.csv";File.Delete(configPath);//写入配置文件StreamWriter sw = new System.IO.StreamWriter(configPath, true);sw.WriteLine("v," + currentVersion);foreach (var cstr in configList){sw.WriteLine(cstr);// 直接追加文件末尾,换行 }sw.Close();Console.WriteLine("完成!");Console.ReadLine();}//获取所有文件名static List<string> GetDicFiles(string path){List<string> nameList = new List<string>();DirectoryInfo dir = new DirectoryInfo(path);FileInfo[] fileArray = dir.GetFiles();string oldpath = Environment.CurrentDirectory + "\\";foreach (var file in fileArray){string configPath = file.FullName;nameList.Add(configPath.Replace(oldpath, ""));}DirectoryInfo[] dirs = dir.GetDirectories();foreach (var childDic in dirs){nameList.AddRange(GetDicFiles(childDic.FullName));}return nameList;}//md5public static string GenerateMD5(Stream inputStream){using (MD5 mi = MD5.Create()){//开始加密byte[] newBuffer = mi.ComputeHash(inputStream);StringBuilder sb = new StringBuilder();for (int i = 0; i < newBuffer.Length; i++){sb.Append(newBuffer[i].ToString("x2"));}return sb.ToString();}}
输出:
代码很简单,使用说明如下:
1.在运行目录下 建一个 xxupdate文件夹
2.然后将需要更新文件放进去
3.执行exe
4.会生成对应的csv文件(path,md5)
5.第一行会有一个大版本号,用于强制更新
gitee地址
对文件生成MD5文件配置表相关推荐
- java 大文件 md5_使用Java为大文件生成MD5非常慢
我用nio重写你的代码,代码有点像下面: private static String generateMD5(FileInputStream inputStream){ if(inputStream= ...
- python打包zip文件_python 解压文件,合并文件 打包成zip格式文件 生成MD5值
#!/usr/bin/env python #_*_encoding:utf-8 # 2018/05/29 #augustyang #2.0 ''' 解压文件,合并文件 打包成zip格式文件 生成MD ...
- Java生成文件的md5文件方法的代码
package pri.liyang.util; import java.io.*; import java.security.MessageDigest; import java.security. ...
- Util: Java生成文件的md5文件方法的代码
package pri.liyang.util;import java.io.*; import java.security.MessageDigest; import java.security.N ...
- Windows下生成 MD5 文件校验和的方法
在命令提示符下 Microsoft Windows 10 操作系统中内置了一个命令行工具,作为证书服务,即"CertUtil".该命令行提供了一个开关"Hashfile& ...
- (C++)将数据库文件导出XML文件以及解析XML文件生成数据库文件的处理方法
将数据库文件导出XML文件以及解析XML文件生成数据库文件的处理方法 思路:将数据库所有要导出的信息通过sql语句得到,存储到结构体中,然后将结构体的内容通过自定义的xml格式导出. 此方法使用的是T ...
- [MATLAB]将.m文件生成dll文件
环境:VS2017+MATLAB R2017a ①配置编译环境 在命令行窗口中输入"mbuild -setup"(横线前有一个空格),如果出现如下图所示的提示信息即为成功. 如果提 ...
- Python将py文件生成exe文件
使用PyCham软件运行生成可执行文件后,最完美的就是将py文件生成exe文件,这样可以任意复制移植到其他电脑上,供他人共享. 由于新手初步尝试,自己一个人摸索,遇到了很多坑.这里先给出最简单有效的方 ...
- python生成表格文件_python 读取excel文件生成sql文件实例详解
python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以 ...
- 使用Cython库包对python的py文件(源码)进行加密,把python的.py文件生成.so文件并调用
文章目录: 1 准备环境 2 调用`Cython库包`把python的`.py`文件生成`.so`文件 2.1 写源码文件 2.2 调用源码接口 2.3 调用Cython库把`.py`源码生成`.so ...
最新文章
- tf.expand_dims() 的用法
- 组合搜索(combinatorial search)在算法求解中的应用
- 开源IT从业者最受欢迎5大技能
- OpencvSharp的踩坑之路
- [luoguP2774] 方格取数问题(最大点权独立集)
- pythonfor循环列表排序_Python Day4950(for循环语句整理)
- BlackBerry 应用程序开发者指南 第二卷:高级--第11章 管理通知(Notification)
- idea运行报错Parameter ‘name‘ not found. Available parameters are [arg1, arg0, param1, param2]
- springboot的aop里的 @Pointcut()里的配置
- mac brew加速
- Excel中将汉字(名字)转换为拼音
- 邮件群发系统 php,QQ邮箱群发PHP源码
- 2015年全国大学生电子设计大赛综合测评题
- Masking操作,即只关注图像的一部分
- 给WPS文档加密码的多种方法
- 升级 glibc 到2.18版本
- 关于学程序需不需要学习英语的忠告
- 运用Chrome浏览器ADB插件获取页面元素
- 超级终端之常用AT命令与错误码
- tk芯片智能机刷机方法_滴,欢迎回家!凯迪仕智能锁 TK2 使用小记