У меня есть около 800 файлов размером не более 55–100 КБ каждый, в которых данные находятся в этом формате
Дата, время, Float1, float2, float3, Float4, Integer
Дата указывается в формате ДД / ММ / ГГГГ, а время - в формате ЧЧ: ММ
Здесь дата колеблется от 1 мая до 1 июня, и каждый день время меняется с 09:00 до 15:30.
Я хочу запустить программу, чтобы для каждого файла она извлекала данные, относящиеся к определенной дате, и записывала в файл.
Я пытаюсь обойти, сформировать для выполнения операции поиска и извлечения. Я не знаю, как это сделать, хотел бы иметь представление.
Я написал код ниже:
static void Main(string[] args)
{
string destpath = Directory.GetCurrentDirectory();
destpath += "\\DIR";
DirectoryInfo Dest = Directory.CreateDirectory(destpath);
DirectoryInfo Source = new DirectoryInfo(Directory.GetCurrentDirectory() + "\\IEOD");
FileInfo[] fiArr = Source.GetFiles("*.csv");
Console.WriteLine("Search Date:");
string srchdate = Console.ReadLine();
String FileNewLine;
String FileNewdt;
FileInfo r;
foreach (FileInfo f in fiArr)
{
r = new FileInfo(destpath + "\\" + f.Name);
r.Create();
StreamWriter Sw = r.AppendText();
StreamReader Sr = new StreamReader(f.FullName);
while (Sr.Peek() >= 0)
{
FileNewLine = Sr.ReadLine();
FileNewdt = FileNewLine.Substring(0,10);
if (String.Compare(FileNewdt, srchdate, true) == 0)
{
//write it to a file;
Console.WriteLine(FileNewLine);
}
}
}
Console.ReadKey();
}
На данный момент он должен записываться в консоль. Запись с помощью StreamWriter будет выполнена позже, но я столкнулся с ошибкой во время выполнения. В нем говорится: «C: \ Documents and Settings \ Soham Das \ Desktop \ Test \ DIR \ ABAN.csv ', поскольку он используется другим процессом».
Здесь ABAN - это недавно созданный файл, по коду. Проблема стоит на StreamWriter Sw = r.AppendText()
Помощь приветствуется.
Спасибо
Soham