gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 04:14:31 26 4
gpt4 key购买 nike

<分区>

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

问题

  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"
if ((File.GetAttributes(item) & FileAttributes.ReparsePoint) != FileAttributes.ReparsePoint)
{
AddFileNamesToList(item, allFiles);
}
}

}

引用

  1. Using StreamReader to check if a file contains a string
  2. Splitting a String with two criteria
  3. C# detect folder junctions in a path
  4. Detect Symbolic Links, Junction Points, Mount Points and Hard Links
  5. FolderBrowserDialog SelectedPath with reparse points
  6. C# - High Quality Byte Array Conversion of Images

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com