我需要将任何平面分隔文件转换为管道分隔格式。我将这个控制台应用程序编写为POC,但它试图编写的第二个文件将包含第一个文件中的所有文本。有什么建议么?阅读,操作和编写文本文件C#
string sourceDir = @"c:\temp\";
string targetDir = @"c:\dest\";
List<string> listLines = new List<string>();
string[] files = Directory.GetFiles(sourceDir);
foreach(string file in files)
{
using (StreamReader sr = new StreamReader(sourceDir + Path.GetFileName(file)))
{
do
{
listLines.Add(sr.ReadLine());
} while (!sr.EndOfStream);
for (int i = 0; i < listLines.Count; i++)
{
listLines[i] = listLines[i].Replace(',', '|');
listLines[i] = listLines[i].Replace('\t', '|');
}
}
using (StreamWriter sw = new StreamWriter(targetDir + Path.GetFileName(file)))
{
foreach (string line in listLines)
{
sw.WriteLine(line);
}
}
}
您正在将行添加到listLines中,并且从不在foreach迭代后清除列表。 –