c# - 如何从所有 txt 文件 (*.txt) 中读取所有文本

标签 c#

我需要使用最快的方法(我认为它是 readalltext)如何从 txt 文件中读取所有文本,我不知道如何更正代码:

string[] files = Directory
  .GetFiles(@"C:\Users\Wiz\Desktop\test","*.txt", SearchOption.AllDirectories);

var letter = File.ReadAllText(files);

最佳答案

对我来说有趣的是指出这是最快的方法,因此我尝试了 3 种技术:

概览

overview *~200 刻度

结论

Parallel Approch 在这种情况下效果最好,Directory.EnumerateFilesDirectory.GetFiles 快得多(使用模式 *.txt 和包含的子目录进行搜索)

代码

A - GetFiles 和 ReadAllText

foreach (var file in Directory.GetFiles("C:\\Program Files (x86)", "*.txt", SearchOption.AllDirectories))
{
   var a = File.ReadAllText(file);
}

B - 枚举文件和 ReadAllText

foreach (var file in Directory.EnumerateFiles("C:\\Program Files (x86)", "*.txt", SearchOption.AllDirectories))
{
   var a = File.ReadAllText(file);
}

C - 并行方法

var files = Directory.EnumerateFiles("C:\\Program Files (x86)", "*.txt", SearchOption.AllDirectories);
Parallel.ForEach(files,(current) => 
{
    var a = File.ReadAllText(current);
});

请随意添加想法、想法......

关于c# - 如何从所有 txt 文件 (*.txt) 中读取所有文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35699286/

相关文章:

C# Zlib在winform应用程序中的使用

c# - 在 API 中抛出异常的正确时间是什么时候?

C# Windows 服务使用来自 MSDN "Find and Replace text in a Word document"的 FlatDocument 示例保持文件锁定

c# - log4net 应该如何在应用程序中为 "source"正确设置 "EventLogAppender"...?

c# - 错误 : not supported in WCF Test client because it uses type System. Threading.Tasks

c# - 在 SQL Server 中对选定的行进行排序

c# - 在运行时将不同的参数传递给未知形式

c# - 从 Alt+Tab 隐藏 WPF 表单

c# - 什么属性定义段落或表格的边距?

c# - IPAddress 上的奇怪 .Net 行为等于