这段代码从 1.txt 中取出一行并将其拆分成列。现在我有一个包含 200 多个文件并以 something.txt 结尾的目录,我希望它们一次都打开一个,然后运行下面的这个过程。在不过多更改我的代码的情况下遍历所有文件的最简单方法是什么?
当前代码片段;
string _nextLine;
string[] _columns;
char[] delimiters;
delimiters = "|".ToCharArray();
_nextLine = _reader.ReadLine();
string[] lines = File.ReadAllLines("C:\\P\\DataSource2_W\\TextFiles\\Batch1\\1.txt");
//Start at index 2 - and keep looping until index Length - 2
for (int i = 3; i < lines.Length - 2; i++)
{ _columns = lines[i].Split('|');
// Check if number of cols is 3
if (_columns.Length == 146)
{
JazzORBuffer.AddRow();
JazzORBuffer.Server = _columns[0];
JazzORBuffer.Country = _columns[1];
JazzORBuffer.QuoteNumber = _columns[2];
JazzORBuffer.DocumentName =_columns[3];
JazzORBuffer.CompanyNameSoldTo=_columns[4];
}
else
{
// Debug or messagebox the line that fails
MessageBox.Show("Cols:" + _columns.Length.ToString() + " Line: " + lines[i]);
return;
}
}
最佳答案
您可以简单地使用 Directory.EnumerateFiles()遍历指定目录的文件集合。
因此您可以将代码插入到 foreach 循环中,例如:
foreach (var file in
Directory.EnumerateFiles(@"C:\\P\\DataSource2_W\\TextFiles\\Batch1", "*.txt"))
{
//your code
}
关于c# - 如何循环遍历目录C#中的所有文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10616126/