1. [代码]统计目录中文件MD5值

using System.IO;
using System.Security.Cryptography;
using System.Collections;
using System.Windows.Forms;
 IDataObject iData = Clipboard.GetDataObject();
   if (iData.GetDataPresent(DataFormats.Text))
   {
string filepath=(string)iData.GetData(DataFormats.Text);
StringBuilder sbMD5= new StringBuilder(1024);
string filepath=@"C:\tmp";
DirectoryInfo dir = new DirectoryInfo((filepath.LastIndexOf(Path.DirectorySeparatorChar) == filepath.Length - 1) ? filepath : filepath + Path.DirectorySeparatorChar);
FileSystemInfo[] fileArr = dir.GetFileSystemInfos();
Queue<FileSystemInfo> Folders = new Queue<FileSystemInfo>(dir.GetFileSystemInfos());
while (Folders.Count > 0)
{
    FileSystemInfo atom = Folders.Dequeue();
    FileInfo f = atom as FileInfo;
    if (f == null)
    {
        DirectoryInfo d = atom as DirectoryInfo;
        foreach (FileSystemInfo fi in d.GetFileSystemInfos())
            Folders.Enqueue(fi);
    }
    else
    {
        FileStream fs = new FileStream(f.FullName,FileMode.Open,FileAccess.Read);
        MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
        byte [] md5byte = md5.ComputeHash(fs);
        int i,j;
        StringBuilder sb = new StringBuilder(16);
        foreach (byte b in md5byte)
        {
            i = Convert.ToInt32(b);
           j = i >> 4;
           sb.Append(Convert.ToString(j,16));
           j = ((i << 4) & 0x00ff) >> 4;
           sb.Append(Convert.ToString(j,16));
        }
        sbMD5.Append(f.FullName);
        sbMD5.Append("\t");
        sbMD5.Append(sb.ToString());
        sbMD5.Append("\r\n");
    }
}
Clipboard.SetText(sbMD5.ToString());
   }
   else
    MessageBox.Show("目前剪贴板中数据不可转换为文本","错误");
2. [代码][C#]代码     
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Security.Cryptography;
using System.Collections;
using System.Windows.Forms;
 http://www.huiyi8.com/gongzuozongjie/​
static void listFiles(string rootDirectory,string searchPattern)
{工作总结
var files=from fileName in Directory.GetFiles(
rootDirectory,searchPattern)
select new
{
Name=fileName,
LastWriteTime=File.GetLastWriteTime(fileName)
};
StringBuilder sbMD5= new StringBuilder(1024);
foreach(var file in files)
{
        FileStream fs = new FileStream(file.Name,FileMode.Open,FileAccess.Read);
        MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
        byte [] md5byte = md5.ComputeHash(fs);
        StringBuilder sb = new StringBuilder(16);
        foreach (byte b in md5byte)
        {
            int i = Convert.ToInt32(b);
           int j = i >> 4;
           sb.Append(Convert.ToString(j,16));
           j = ((i << 4) & 0x00ff) >> 4;
           sb.Append(Convert.ToString(j,16));
        }
        sbMD5.Append(f.Name);
        sbMD5.Append("\t");
        sbMD5.Append(f.LastWriteTime);
        sbMD5.Append("\t");
        sbMD5.Append(sb.ToString());
        sbMD5.Append("\r\n");
}
Clipboard.SetText(sbMD5.ToString());
}
 
 
 IDataObject iData = Clipboard.GetDataObject();
   if (iData.GetDataPresent(DataFormats.Text))
   {
string filepath=(string)iData.GetData(DataFormats.Text);
listFiles(filepath,"*");
}

C#统计目录中文件MD5值的更多相关文章

  1. PHP中统计目录中文件以及目录中目录的大小

    <?php  #循环遍历目录中所有的文件,并统计目录和文件的大小  $dirName="phpMyAdmin";  $dir=opendir($dirName);  #返回一 ...

  2. PHP统计目录中文件个数和文件大小

    <meta charset="utf-8"><?php $dirn = 0; //目录数 $filen = 0; //文件数 //用来统计一个目录下的文件和目录的 ...

  3. 遍历目录删除指定MD5值的文件

    工作需要实现一个查找出指定目录下md5值与excel表格中md5值相同的文件然后删掉的功能.我是这样做的:首先遍历指定目录,计算该目录下所有文件的md5值,以文件路径为key,md5值为value保存 ...

  4. 在Windows下通过命令行或者.bat文件统计一个目录中文件数量

    在Windows下面怎样通过命令行统计一个目录中文件的数量,或者说,如果在一个.bat文件中,统计一个目录中的文件数量? 我原来以为是不可能的,要编一个vbs程序什么的,后来到网上找了下,发现还真是可 ...

  5. JAVA中获取文件MD5值的四种方法

    JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...

  6. java统计指定目录中文件的个数和总的大小

    转: 统计指定目录中文件的个数和总的大小 package file; import java.io.File; import java.util.ArrayList; public class Fil ...

  7. MD5工具类,提供字符串MD5加密、文件MD5值获取(校验)功能

    MD5工具类,提供字符串MD5加密(校验).文件MD5值获取(校验)功能 : package com.yzu.utils; import java.io.File; import java.io.Fi ...

  8. Linux中文件MD5校验

    md5sum命令用于生成文件的md5数字摘要,并可以验证文件内容是否发生了改变,间接地还可以检验两个文件内容是否完全相同.因为md5sum是读取文件内容来计算校验码的,因此只能验证文件内容,而无法验证 ...

  9. 获取文件MD5值(JS、JAVA)

    文章HTML代码翻译于地址:https://www.cnblogs.com/linyihai/p/7040786.html           文件MD5有啥用?                  文 ...

随机推荐

  1. MySQL中in(常量列表)的执行计划

    我们在写sql的时候,经常用到in,in后面跟一堆常量列表,如id.有人说in的效率很高,而有人说很低:有人说in能使用索引,还有人说in不能使用索引... 到底是一个怎样的情况呢?我们分析以下几种情 ...

  2. iOS SDWebImage加载大图导致内存崩溃解决方案

    static BOOL SDImageCacheOldShouldDecompressImages = YES; static BOOL SDImagedownloderOldShouldDecomp ...

  3. 创建自己的Spring Boot Starter

    抽取通用模块作为项目的一个spring boot starter.可参照mybatis的写法. IDEA创建Empty Project并添加如下2个module,一个基本maven模块,另一个引入sp ...

  4. Linux 安装中文man手册

    Centos 安装中文man 虽然在CentOS操作系统中具有多语言包,但其man手册是英文的,对于新手来说能够使用中文man手册将加快学习速度. .首先需要确认的是有没有安装中文支持,如果没有请安装 ...

  5. IE下object元素遮挡div表单

    目前遇到这样的一个问题: 我用ActiveX插件做了一个C#的播放器,要将这个插件放到web浏览器中,然后可以通过前台页面来控制视频的播放,暂停还有回放,这个时候发现object的onclick事件无 ...

  6. Oracle关于快速缓存区应用原理

    为什么oracle可以对于大量数据进行訪问时候能彰显出更加出色表现,就是通过所谓的快速缓存来实现数据的快速运算与操作.在之前的博文中我已经说过sql的运行原理,当我们訪问数据库的数据时候,首先不是从数 ...

  7. java工程中当前目录在html中的设置

    本地启动server的时候总是去读"/"的, 但到了服务器上,如果当前目录是服务器根目录下的一个文件夹,就应该设: <head> <meta charset=&q ...

  8. 让WebRTC支持H264编解码

    近期实验了下怎样让WebRTC支持H264编码.记录下,供有须要的人參考. 说明一下,我是在 Ubuntu Server 14.04 下编译的 WebRTC ,使用 native(C++) api 开 ...

  9. Alex 的 Hadoop 菜鸟教程: 第2课 hadoop 安装教程 (CentOS6 CDH分支 yum方式)

    原帖地址:http://blog.csdn.net/nsrainbow/article/details/36629339 我们这个教程是在 centos  上安装cdh的教程,并且使用的是yum方式. ...

  10. 忘记apple id如何更新应用?

    最近ytkah的app有很多更新提示,之前注册的apple id好久没登录了,突然提示说登录需要验证安全问题,哪还记得噢,最要命的是邮箱收到的加密邮件也需要验证.重新注册一个吧,这次要注意保存相关信息 ...