找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3684|回复: 0

C#搜索抓取本地硬盘文件

[复制链接]
发表于 2012-12-9 13:51:42 | 显示全部楼层 |阅读模式
问题描述:譬如说要搜索d:盘中的所有后缀为html的文件。这里只是简单实现一个抓取的类,大家可以根据需要自行扩展关键是用到一个递归函数,依此搜索子文件夹下的文件,按照时间保存




以下是代码片段:public class SearchBase      {         private SearchBase()          {                   }         static int ra;         public static  void addSubDirectory(DirectoryInfo directory,string pattern)          {             foreach (FileInfo fi in directory.GetFiles(pattern))              {                   addrelativeDocument(fi.FullName);              }             foreach (DirectoryInfo di in directory.GetDirectories())              {                  addSubDirectory(di,pattern);              }          }         public static  void addrelativeDocument(string path)          {             string html;             using (StreamReader sr = new StreamReader(path, System.Text.Encoding.Default))              {                  html = sr.ReadToEnd();              }             string time=DateTime.Now.ToLongTimeString();             string[] timetopath=time.Split(':');             string newtime=null;             for(int i=0;i             {                  newtime+=timetopath.ToString();              }             newtime+="("+ra+")";             string p=@  "f:files"+newtime+".txt";             if(!File.Exists(p))              {                  FileStream fs=    new FileStream(p ,FileMode.Create,FileAccess.Write ) ;                  StreamWriter sw = new StreamWriter(fs);                  sw.Write(html);                  sw.Close() ;                  fs.Close() ;              }              ra++;          }      }
前台这么简单调用就可以了SearchBase.addSubDirectory(new DirectoryInfo(@  "d:"),"*.html");另外,可以自己去加工搜索出来的文件,解析成xml文件,将其导入到数据库中,这个以后有空写篇随笔~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|要学吧论坛

GMT+8, 2025-10-18 20:27 , Processed in 0.066116 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表