相关疑难解决方法(0)

使用C#更好地搜索所有文件中的字符串

在参考了很多博客和文章之后,我已经达到了以下代码,用于在文件夹内的所有文件中搜索字符串.它在我的测试中运行良好.

质询

  1. 有没有更快的方法(使用C#)?
  2. 是否有任何方案会因此代码而失败?

注意:我测试了非常小的文件.文件数量也很少.

static void Main()
    {
        string sourceFolder = @"C:\Test";
        string searchWord = ".class1";

        List<string> allFiles = new List<string>();
        AddFileNamesToList(sourceFolder, allFiles);
        foreach (string fileName in allFiles)
        {
            string contents = File.ReadAllText(fileName);
            if (contents.Contains(searchWord))
            {
                Console.WriteLine(fileName);
            }
        }

        Console.WriteLine(" ");
        System.Console.ReadKey();
    }

    public static void AddFileNamesToList(string sourceDir, List<string> allFiles)
    {

            string[] fileEntries = Directory.GetFiles(sourceDir);
            foreach (string fileName in fileEntries)
            {
                allFiles.Add(fileName);
            }

            //Recursion    
            string[] subdirectoryEntries = Directory.GetDirectories(sourceDir);
            foreach (string item in subdirectoryEntries)
            {
                // Avoid "reparse points" …
Run Code Online (Sandbox Code Playgroud)

.net c# file-io

28
推荐指数
2
解决办法
4万
查看次数

标签 统计

.net ×1

c# ×1

file-io ×1