Asp.net源码专业站
首页->新闻文章->风讯dotNETCMSv1.0免安装版源码>>Foosun.CMS/Common/FileCompare.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:风讯dotNETCMSv1.0免安装版源码
当前文件:文件类型 FooSunCMS/Foosun.CMS/Common/FileCompare.cs[3K,2009-6-12 11:42:42]打开代码结构图
普通视图
		            
1using System; 2using System.Collections.Generic; 3using System.Text; 4using System.Text.RegularExpressions; 5using System.IO; 6using Foosun.Model; 7 8namespace Foosun.CMS.Common 9{ 10 public class FileCompare 11 { 12 private string FileType = @".gif|.jpg|.swf|"; 13 private List<FileComprInfo> fllist; 14 private string RootDir; 15 private int dirlen; 16 private string Contrast = string.Empty; 17 public FileCompare(string root, string contrast) 18 { 19 RootDir = root; 20 if (!Directory.Exists(RootDir)) 21 throw new Exception("文件目录不存在!"); 22 fllist = new List<FileComprInfo>(); 23 dirlen = root.Length; 24 Contrast = contrast; 25 GetStList(); 26 } 27 public void GetFileList() 28 { 29 GetDirInfo(RootDir); 30 } 31 private void GetDirInfo(string ParentDir) 32 { 33 DirectoryInfo[] ChildDirectory; //子目录集 34 FileInfo[] NewFileInfo; //当前所有文件 35 DirectoryInfo FatherDirectory = new DirectoryInfo(ParentDir); //当前目录 36 string dname = FatherDirectory.Name.ToLower(); 37 if (dname == "bin" || dname == Config.UIConfig.dirHtml.ToLower() || dname == Config.UIConfig.dirSite.ToLower()) 38 return; 39 NewFileInfo = FatherDirectory.GetFiles(); 40 foreach (FileInfo DirFile in NewFileInfo) //获取此级目录下的所有文件 41 { 42 string exname = DirFile.Extension.ToLower() + "|"; 43 if (FileType.IndexOf(exname) >= 0) 44 continue; 45 string filenm = DirFile.FullName.Substring(dirlen); 46 long filesz = DirFile.Length; 47 DateTime filetm = DirFile.LastWriteTime; 48 bool flag = false; 49 foreach (FileComprInfo f in fllist) 50 { 51 if (f.FileName.ToLower() == filenm.ToLower()) 52 { 53 f.FaFileSize = filesz; 54 f.FaModifyTime = filetm; 55 flag = true; 56 break; 57 } 58 } 59 if (!flag) 60 { 61 FileComprInfo fl = new FileComprInfo(filenm); 62 fl.FaFileSize = filesz; 63 fl.FaModifyTime = filetm; 64 fllist.Add(fl); 65 } 66 } 67 ChildDirectory = FatherDirectory.GetDirectories("*.*"); //得到子目录集 68 foreach (DirectoryInfo dirInfo in ChildDirectory) //获取此级目录下的一级目录 69 { 70 GetDirInfo(dirInfo.FullName); 71 } 72 } 73 public List<FileComprInfo> FileList 74 { 75 get { return fllist; } 76 } 77 private void GetStList() 78 { 79 if (Contrast == null || Contrast == string.Empty) 80 return; 81 string pattern = "\\<file\\ name=\"(?<f>[^\"]+)\"\\ size=\"(?<s>\\d+)\"\\ modifytime=\"(?<t>[^\"]+)\"\\ */\\>(\r\n)*"; 82 Regex reg = new Regex(pattern, RegexOptions.Compiled | RegexOptions.IgnoreCase); 83 Match m = reg.Match(Contrast); 84 while (m.Success) 85 { 86 try 87 { 88 string filename = m.Groups["f"].Value.Trim(); 89 long l = long.Parse(m.Groups["s"].Value); 90 DateTime t = DateTime.Parse(m.Groups["t"].Value); 91 FileComprInfo fl = new FileComprInfo(filename); 92 fl.StFileSize = l; 93 fl.StModifyTime = t; 94 fllist.Add(fl); 95 } 96 catch 97 { } 98 m = m.NextMatch(); 99 } 100 } 101 102 } 103} 104
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:风讯dotNETCMSv1.0免安装版源码
51Aspx.com 版权所有 CopyRight © 2006-2010. 京ICP备06046876号 本站法律顾问:ITlaw-庄毅雄律师
返回顶部
客户服务:点击这里进行客户咨询 业务合作:点击这里洽谈业务合作 合作热线:010-68880146