您目前尚未登陆,请选择【登陆】或【注册
首页->全站代码->NETCMSv1.5(Build0509)完整源码版>>NetCMS.Content/Common/FileCompare.cs>>代码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,不能展示项目的全部,如果想更进一步了解该代码请下载:NETCMSv1.5(Build0509)完整源码版


当前文件路径:NetCMSv15/NetCMS.Content/Common/FileCompare.cs 文件类型
普通视图
		            
1//====================================================== 2//== (c)2008 aspxcms inc by NeTCMS v1.0 == 3//== Forum:bbs.aspxcms.com == 4//== Website:www.aspxcms.com == 5//====================================================== 6using System; 7using System.Collections.Generic; 8using System.Text; 9using System.Text.RegularExpressions; 10using System.IO; 11using NetCMS.Model; 12 13namespace NetCMS.Content.Common 14{ 15 public class FileCompare 16 { 17 private string FileType = @".gif|.jpg|.swf|"; 18 private List<FileComprInfo> fllist; 19 private string RootDir; 20 private int dirlen; 21 private string Contrast = string.Empty; 22 public FileCompare(string root, string contrast) 23 { 24 RootDir = root; 25 if (!Directory.Exists(RootDir)) 26 throw new Exception("文件目录不存在!"); 27 fllist = new List<FileComprInfo>(); 28 dirlen = root.Length; 29 Contrast = contrast; 30 GetStList(); 31 } 32 public void GetFileList() 33 { 34 GetDirInfo(RootDir); 35 } 36 private void GetDirInfo(string ParentDir) 37 { 38 DirectoryInfo[] ChildDirectory; //子目录集 39 FileInfo[] NewFileInfo; //当前所有文件 40 DirectoryInfo FatherDirectory = new DirectoryInfo(ParentDir); //当前目录 41 string dname = FatherDirectory.Name.ToLower(); 42 if (dname == "bin" || dname == Config.UIConfig.dirHtml.ToLower() || dname == Config.UIConfig.dirSite.ToLower()) 43 return; 44 NewFileInfo = FatherDirectory.GetFiles(); 45 foreach (FileInfo DirFile in NewFileInfo) //获取此级目录下的所有文件 46 { 47 string exname = DirFile.Extension.ToLower() + "|"; 48 if (FileType.IndexOf(exname) >= 0) 49 continue; 50 string filenm = DirFile.FullName.Substring(dirlen); 51 long filesz = DirFile.Length; 52 DateTime filetm = DirFile.LastWriteTime; 53 bool flag = false; 54 foreach (FileComprInfo f in fllist) 55 { 56 if (f.FileName.ToLower() == filenm.ToLower()) 57 { 58 f.FaFileSize = filesz; 59 f.FaModifyTime = filetm; 60 flag = true; 61 break; 62 } 63 } 64 if (!flag) 65 { 66 FileComprInfo fl = new FileComprInfo(filenm); 67 fl.FaFileSize = filesz; 68 fl.FaModifyTime = filetm; 69 fllist.Add(fl); 70 } 71 } 72 ChildDirectory = FatherDirectory.GetDirectories("*.*"); //得到子目录集 73 foreach (DirectoryInfo dirInfo in ChildDirectory) //获取此级目录下的一级目录 74 { 75 GetDirInfo(dirInfo.FullName); 76 } 77 } 78 public List<FileComprInfo> FileList 79 { 80 get { return fllist; } 81 } 82 private void GetStList() 83 { 84 if (Contrast == null || Contrast == string.Empty) 85 return; 86 string pattern = "\\<file\\ name=\"(?<f>[^\"]+)\"\\ size=\"(?<s>\\d+)\"\\ modifytime=\"(?<t>[^\"]+)\"\\ */\\>(\r\n)*"; 87 Regex reg = new Regex(pattern, RegexOptions.Compiled | RegexOptions.IgnoreCase); 88 Match m = reg.Match(Contrast); 89 while (m.Success) 90 { 91 try 92 { 93 string filename = m.Groups["f"].Value.Trim(); 94 long l = long.Parse(m.Groups["s"].Value); 95 DateTime t = DateTime.Parse(m.Groups["t"].Value); 96 FileComprInfo fl = new FileComprInfo(filename); 97 fl.StFileSize = l; 98 fl.StModifyTime = t; 99 fllist.Add(fl); 100 } 101 catch 102 { } 103 m = m.NextMatch(); 104 } 105 } 106 107 } 108} 109
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:NETCMSv1.5(Build0509)完整源码版

- 功能很全asp.net图片水印组件..

- GridView自定义分页及可拖动..

- ASP.NET仓库管理系统源码

- Discuz!NT2.0源码

- AjaxPro.NET实现的简单高效的..

- 三只熊网络商城1.3

- asp.net漂亮弹出对话框控件源..

- ifnuke version 4.0.0源码

51Aspx.com 版权所有 CopyRight © 2000-2008. 京ICP备06046876号