开发目的:

用于游戏开发热更新中对于游戏文件的版本比对

使用.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文件配置表相关推荐

  1. java 大文件 md5_使用Java为大文件生成MD5非常慢

    我用nio重写你的代码,代码有点像下面: private static String generateMD5(FileInputStream inputStream){ if(inputStream= ...

  2. python打包zip文件_python 解压文件,合并文件 打包成zip格式文件 生成MD5值

    #!/usr/bin/env python #_*_encoding:utf-8 # 2018/05/29 #augustyang #2.0 ''' 解压文件,合并文件 打包成zip格式文件 生成MD ...

  3. Java生成文件的md5文件方法的代码

    package pri.liyang.util; import java.io.*; import java.security.MessageDigest; import java.security. ...

  4. Util: Java生成文件的md5文件方法的代码

    package pri.liyang.util;import java.io.*; import java.security.MessageDigest; import java.security.N ...

  5. Windows下生成 MD5 文件校验和的方法

    在命令提示符下 Microsoft Windows 10 操作系统中内置了一个命令行工具,作为证书服务,即"CertUtil".该命令行提供了一个开关"Hashfile& ...

  6. (C++)将数据库文件导出XML文件以及解析XML文件生成数据库文件的处理方法

    将数据库文件导出XML文件以及解析XML文件生成数据库文件的处理方法 思路:将数据库所有要导出的信息通过sql语句得到,存储到结构体中,然后将结构体的内容通过自定义的xml格式导出. 此方法使用的是T ...

  7. [MATLAB]将.m文件生成dll文件

    环境:VS2017+MATLAB R2017a ①配置编译环境 在命令行窗口中输入"mbuild -setup"(横线前有一个空格),如果出现如下图所示的提示信息即为成功. 如果提 ...

  8. Python将py文件生成exe文件

    使用PyCham软件运行生成可执行文件后,最完美的就是将py文件生成exe文件,这样可以任意复制移植到其他电脑上,供他人共享. 由于新手初步尝试,自己一个人摸索,遇到了很多坑.这里先给出最简单有效的方 ...

  9. python生成表格文件_python 读取excel文件生成sql文件实例详解

    python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以 ...

  10. 使用Cython库包对python的py文件(源码)进行加密,把python的.py文件生成.so文件并调用

    文章目录: 1 准备环境 2 调用`Cython库包`把python的`.py`文件生成`.so`文件 2.1 写源码文件 2.2 调用源码接口 2.3 调用Cython库把`.py`源码生成`.so ...

最新文章

  1. tf.expand_dims() 的用法
  2. 组合搜索(combinatorial search)在算法求解中的应用
  3. 开源IT从业者最受欢迎5大技能
  4. OpencvSharp的踩坑之路
  5. [luoguP2774] 方格取数问题(最大点权独立集)
  6. pythonfor循环列表排序_Python Day4950(for循环语句整理)
  7. BlackBerry 应用程序开发者指南 第二卷:高级--第11章 管理通知(Notification)
  8. idea运行报错Parameter ‘name‘ not found. Available parameters are [arg1, arg0, param1, param2]
  9. springboot的aop里的 @Pointcut()里的配置
  10. mac brew加速
  11. Excel中将汉字(名字)转换为拼音
  12. 邮件群发系统 php,QQ邮箱群发PHP源码
  13. 2015年全国大学生电子设计大赛综合测评题
  14. Masking操作,即只关注图像的一部分
  15. 给WPS文档加密码的多种方法
  16. 升级 glibc 到2.18版本
  17. 关于学程序需不需要学习英语的忠告
  18. 运用Chrome浏览器ADB插件获取页面元素
  19. 超级终端之常用AT命令与错误码
  20. tk芯片智能机刷机方法_滴,欢迎回家!凯迪仕智能锁 TK2 使用小记

热门文章

  1. js 图片上传和二进制上传
  2. ENC5 H264/5 4K高清编码器使用说明书
  3. 有序表归并算法(数据结构学习笔记)
  4. c语言 统计素数并求和
  5. 无法打开包括文件: “type_traits”
  6. ps抠图-基础篇(三)
  7. 10分钟带你读完人工智能的三生三世
  8. CAD编辑指南5:输出高清图片和新建空白图纸
  9. 深度学习系列资料总结
  10. dial协议服务器可以禁吗,Radius协议   1812  radius