当前注册人数381671人 邮箱: 密码: 注册新用户 忘记密码
首页 C/C++/MFC C# ASP.NET VB.NET MATLAB Android   站内搜索 下载代码说明/积分规则
为什么要注册?

1. 可以直接免费从本站下载代码,防止邮件发送不到您的邮箱,或登录不了国外网站

2. 可以设定关键字,当有您关心的代码收录时,邮件通知您

3. 对这里的代码进行评分和评论

4. 可以和大家一起分享你的源代码,得到更多的建议

Search All Files' Content in a Folder Recursively

文件夹中所有文件中的内容搜索源代码

2007年12月08日
Windows, Form, C#, .NET
该程序遍历设定好的文件夹下所有文件,及其下所有各级子目录的文件。检索文本文件,并匹配输入的字符串。支持区分大小写。
相关知识
Regex m_RegTxt = null;

    // 搜索按钮执行
    private void btnSearch_Click(object sender, EventArgs e)
    {
        listViewSearch.Items.Clear();

        if ((txtDir.Text.Length < 1) || (txtToSearch.Text.Length < 1))
        {
            MessageBox.Show("Set parameters before search!", "Remind", MessageBoxButtons.OK, MessageBoxIcon.Information);
            return;
        }

        if(cboxCase.Checked)
            m_RegTxt = new Regex(txtToSearch.Text, RegexOptions.Singleline);
        else
            m_RegTxt = new Regex(txtToSearch.Text, RegexOptions.Singleline|RegexOptions.IgnoreCase);

        m_RootDir = txtDir.Text;

        try
        {
            SearchDir(txtDir.Text);
        }
        catch (Exception exp)
        {
            MessageBox.Show(exp.Message, "Exception Found", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }

        lblStatus.Text = "Status: Search end.";
    }

    // 搜索指定文件夹,并递归搜索其子文件夹
    private void SearchDir(string dir)
    {
        lblStatus.Text = "Search DIR: " + dir;
        string[] arrFolders = new string[0];
        string[] arrFiles = new string[0];

        try
        {
            arrFolders = Directory.GetDirectories(dir);
            arrFiles = Directory.GetFiles(dir);
        }
        catch
        {
            MessageBox.Show("Please set the correct Directory Path", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            return;
        }

        for(int i=0; i"Search DIR: " + dir;

        // search the files
        for(int i=0; i// 搜索特定的文件
    private void SearchFile(string file)
    {
        StreamReader srFile = File.OpenText(file);
        string line = srFile.ReadLine();
        int lineNo = 1;
        string fileName = string.Empty;
        int iIndex = 0;
        iIndex = file.LastIndexOf('\\');
        if(iIndex < 0)
            iIndex = file.LastIndexOf('/');
        if (iIndex < 0)
            iIndex = 0;
        fileName = file.Substring(iIndex);
        Match match = null;
        int iRootDirLen = m_RootDir.Length;

        while (line != null)
        {
            // match
            match = m_RegTxt.Match(line);
            if (match.Success)
            {
                // add to list
                ListViewItem lvItem = new ListViewItem(new string[] { 
                                fileName,
                                lineNo.ToString() , 
                                line.Substring(match.Index, line.Length-match.Index>51?50:line.Length-match.Index),
                                file.Substring(iRootDirLen)
                                });
                listViewSearch.Items.Add(lvItem);
            }

            line = srFile.ReadLine();
            ++lineNo;
        }

        srFile.Close();
        srFile.Dispose();
        srFile = null;
    }
源代码原文下载:
Source link has yet to be found. Please, try to download it from local website.

源码图片

点击链接查看大图
从本站下载附件及源代码(1个附件,已经成功下载468次)

最值得关注的外文源代码

Generic TCP/IP Client/Server
custom drag and drop script
Location Aware Phone Book
Free source Code for using Google AJAX Search API, and some DHTML
评论(评论是增加积分的一个有效途径)
字数在300字内
请如实评论
本源代码共评论123次,此处显示最近20次评论! 查看所有评论

goodliness  2017年04月08日
参考一下
xiaozhou  2017年01月10日
很实用的一个小工具
1138262549  2015年06月23日
dd
天涯沙漠  2015年06月22日
单个文件么?可知道Emeditor是如何实现的?
venic  2015年06月21日
我可以用里面的代码
watermelon  2015年05月02日
正是我需要的代码,非常好。
元亨利贞之淼  2014年06月05日
还不错
若柳芊妍  2014年04月14日
学习了
么有蜡笔的小新  2014年04月14日
收藏下
kevin1023  2014年02月16日
正是我需要的代码,非常好。
renmg123  2013年12月14日
我可以用里面的代码
水_叮当  2013年09月20日
下来看看
zhy810302  2013年08月17日
太值得学习了,正在研究中。
weizw  2013年08月11日
单个文件么?可知道Emeditor是如何实现的?
unknow_Sunshine  2013年07月23日
不错的小工具。学习学习。。
wufeiwu1988  2013年05月24日
谢谢分享
nzd2007  2013年05月01日
谢谢分享
lamborghini  2013年05月01日
不错
赵玉龙  2013年02月07日
不错哦
遁去的一叶  2012年12月04日
好东西,顶一下
字数在300字内
请如实评论
200万国内源码搜索
CopyRight (C) codesoso.com 2007-2009 All Rights Reserved zhihuishi   免责声明