纠结真蛋疼

判断一件事值不值得去做的唯一标准是这件事是不是令我纠结。如果纠结了,就不去做了!但是,人总要活着,又能怎样。谁说男人就没有那么几天......

极速妙传说起

在现在各大厂商都推出免费云盘的时代,貌似也只有我在当初花点钱还特兴奋的去买云盘空间。免费使得大家都是拿着好处后,然后不再特别在意去关注文件的隐私及安全问题了。“极速妙传”是不是对比他们所有服务器上的文件,呵呵,大家都心知肚明了吧。

好多人质疑为什么U盘、硬盘、内存的真实容量都比标榜的少?其实是1024啦。不多说了,现在,如果去做个类似 云盘 的东东,这不可能吧!

硬生生的干货

下面代码主要是获取文件后,读取成文件流,得到文件的字节、大小、内容等所有信息。That's All.


    public string GetMD5Hash(string path)
{
MD5 md5Hasher = MD5.Create();
byte[] data;
try
{
if (IsRemoteUrl(path))
{
var request = System.Net.FileWebRequest.Create(path);
var size = request.GetResponse().ContentLength;
var fs = request.GetResponse().GetResponseStream();
data = md5Hasher.ComputeHash(fs);
}
else
{
var fs = new System.IO.FileStream(path, System.IO.FileMode.Open);
data = md5Hasher.ComputeHash(fs);
} StringBuilder sb = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
sb.Append(data[i].ToString("x2"));
}
return sb.ToString();
}
catch (Exception ex)
{
//throw; //ToDO Something...
return null;
}
} public string GetFileSize(string path)
{
decimal length;
try
{
if (IsRemoteUrl(path))
{
var request = System.Net.FileWebRequest.Create("path");
length = request.GetResponse().ContentLength;
}
else
{
var fileInfo = new System.IO.FileInfo(path);
length = fileInfo.Length;
}
string[] size = { "B", "KB", "MB", "GB" };
int order = 0;
while (length >= 1024 && order + 1 < size.Length)
{
order++;
length = length / 1024;
}
var fileSize = string.Format("{0:0.##} {1}", length, size[order]);
return fileSize;
}
catch (Exception)
{
//throw; //ToDO Something...
return null;
}
} public bool IsRemoteUrl(string url)
{
if (string.IsNullOrEmpty(url))
return false;
if (!url.Contains("http://"))
return false;
if (url.Substring(0, 7) == "http://")
return true;
return false;
}

结尾

代码就这样,写的比较烂,加入了判断是不是远程Url地址,看不懂想打我看这里

就这样获取文件的MD5和大小的更多相关文章

  1. JAVA 获取文件的MD5值大小以及常见的工具类

    /** * 获取文件的MD5值大小 * * @param file * 文件对象 * @return */ public static String getMD5(File file) { FileI ...

  2. swift 获取文件的Md5值

    获取文件的Md5值的方法如下 func md5File(url: URL) -> String? { let bufferSize = 1024 * 1024 do { //打开文件 let f ...

  3. iOS开发之获取文件的md5值

    我们经常有下载文件上的需求 为了安全我们经常需要对文件进行md5校验 那我就来给大家分享一个很方便的获取文件md5值得方法. 首先需要引用系统库文件 #include <CommonCrypto ...

  4. C#获取文件的MD5码

    using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Send ...

  5. 获取文件的MD5码(C#)

    using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Test ...

  6. Jav获取文件的MD5码,比较两个文件内容是否相同

    Jav获取文件的MD5码,比较两个文件内容是否相同 代码: System.out.println(DigestUtils.md5Hex(new FileInputStream(new File(&qu ...

  7. 在浏览器端获取文件的MD5值

    前几天接到一个奇怪的需求,要在web页面中计算文件的md5值,还好这个项目是只需兼容现代浏览器的,不然要坑死了. 其实对文件进行md5,对于后端来说是及其简单的.比如使用Node.js,只要下面几行代 ...

  8. Windows下获取文件的md5码的方法

    1.certutil 命令简介 本来想找一个工具 算一个文件的md5 或者是sha 值来着. 找到一个说法是 可以使用 windows 自带的命令行来处理 具体命令 certutil -hashfil ...

  9. Android获取文件的MD5值

    package my.bag; import java.io.File; import java.io.FileInputStream; import java.math.BigInteger; im ...

随机推荐

  1. 如何实现在H5里调起高德地图APP?(上)

    这一篇文章,将讲述如何在H5里调起高德地图APP,并展示兴趣点.适合于展示某个餐馆,商场等,让用户自行选择前往方式. 场景一.在高德地图上展示Marker点或者POI标记 在一些基于位置分享的应用开发 ...

  2. IOS适配

    • Default.png(图片尺寸为320x480):显示在非Retina-3.5英寸屏幕上(iPhone3G\iPhone3GS,屏幕分辨率为320x480) • Default@2x.png(图 ...

  3. android studio 乱码

    1. 设置 file- setting -file encodeing- 设置utf-8 2 .  build.gradle 添加 tasks.withType(JavaCompile) { opti ...

  4. jackson 实体转json 为NULL或者为空不参加序列化

    1.实体上 @JsonInclude(Include.NON_NULL) //将该标记放在属性上,如果该属性为NULL则不参与序列化 //如果放在类上边,那对这个类的全部属性起作用 //Include ...

  5. Android View绘制原理分析

    推荐两篇分析view绘制原理比较好的文章,感谢作者的分享. <Android应用层View绘制流程与源码分析> <View 绘制流程>

  6. UiAutomator源代码分析之UiAutomatorBridge框架

    上一篇文章<UIAutomator源代码分析之启动和执行>我们描写叙述了uitautomator从命令行执行到载入測试用例执行測试的整个流程.过程中我们也描写叙述了UiAutomatorB ...

  7. android OOM分析工具LeakCanary

    http://my.oschina.net/u/255456/blog/523659?fromerr=oGosxKBf LeakCanary 只是探测到可能出现内存泄露,然后dump 一个java h ...

  8. Eclipse中集成Tomcat

    问题: 很多时候在Eclipse中启动Tmocat后,不能访问本机的localhost:8080主页,并且其他项目也不能访问. 原因: 打开Tomcat下的webapp后也找补到项目目录,这是因为Ec ...

  9. 一致性哈希算法(consistent hashing)【转】

    一致性哈希算法 来自:http://blog.csdn.net/cywosp/article/details/23397179       一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希 ...

  10. typeof instanceof 之间的区别总结

        typeof   它返回值是一个字符串,该字符串说明运算数的类型. a=1; b=true; c="c"; d=function(){ console.log(" ...