下载站

展开
精品推荐
查找大文件工具

查找大文件工具

搜索查找大小:113.85MB语言: / 类别:系统工具系统: / WinAll, WinXP 提供:
应用介绍

磁盘空间紧张,需要移除不需要的文件,但我不知道要删除多少个文件才能腾出足够的空间。有时,删除了一堆的小文件,还是不够。此资源包容一个VS2012项目FindAllHudgeFiles源码,在bin文件夹下可以得到可运行的exe文件。本程序使用C#和WPF开发,用途为查找指定文件夹下的大文件。

这一工具虽小,但用到的技术可不少。由于充分地应用了现成的技术与组件,比如DataGrid本身就己经有很强大的功能,使得整个程序代码量不大,界面友好性也不错。如果采用Java开发,工作量要大不少,最关键的是Java桌面应用性能够呛;如果用C++开发非托管版本,问题是开发效率太低,即使这样一个小程序,恐怕也得花不少时间(可能得一星期)才能实现C#版本的所有功能,不过C++版本会拥有一个好处,所有Windows下均可运行,并不需要安装.NET。

解决方案:

与其删除一堆的“小文件”,不如只关注“大文件”。为此,可以写一个小工具,搜索指定文件夹下的所有大于指定大小的文件。

技术选型:

本程序采用WPF开发,基于.NET4.0。项目格式:VisualStudio2012,开发语言:C#,如果使用Visualstudio2010,请自行创建一个WPF项目,将源码移入即可编译。

运行环境:

安装了.NETFramework4.0的Windows计算机。在Windows764位旗舰版下测试通过。

界面设计:

按照人们在找到文件后最需要的功能,设计程序界面如下:

中间的文件列表采用DataGrid控件,其它的都是简单的WPF控件,总体布局使用DockPanel,支持界面大小的动态调整。

编程技术关键点:

(1)搜索功能采用.NET4.0所提供的PLINQ完成,使用线程统一取消模型取消操作。

(2)由于搜索是在独立的线程中完成的,因此,更新界面的工作用到了Dispatcher对象,将UI更新代码推送到UI线程中执行。

(3)在查找文件过程中,部分系统文件夹会因权限问题而无法读取文件,故需妥善处理UnauthorizedAccessException异常。

(4)找到文件后,需要将文件名显示在列表中,为此设计了一个FoundFile类封装这些信息。显示工作利用了WPF强大的数据绑定机制。因此让FoundFile类实现INotifyPropertyChanged接口,并且将FoundFile对象放到ObservableCollection泛型集合中,绑定到DataGrid。这里需要指出的是,发现WPF数据绑定支持跨线程更新DataGrid,从而大大地减少了代码编写量。

(5)找到的文件大小是字节,为此,编写一个NumberConverter类,将其转换为常见的K,M、G等,设计WPF数据绑定机制使用它来进行数值转换(详看DataGrid的绑定表达式)

Tags:大文件.

应用推荐查看更多
热门下载查看更多
精选应用
点击查看更多
专题合集查看更多
热门专题查看更多
友情链接0投诉联系:ichaoinc@gmail.com