Рассмотрим этот кусок кода:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace DataExtractor
{
class Program
{
static void Main(string[] args)
{
string destpath = Directory.GetCurrentDirectory();
destpath = Path.Combine(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();
FileInfo r;
foreach (FileInfo f in fiArr)
{
r = new FileInfo(Path.Combine(destpath,f.Name));
r.Create();
string path = Path.Combine(destpath, f.Name);
string[] lines = File.ReadAllLines(f.FullName);
var output = lines.Where(line => line.Split(',')[0] == srchdate);
try
{
//File.WriteAllLines(path, output.ToArray());
Console.WriteLine(output.ToArray());
Console.Write("\n");
}
catch(Exception ex)
{
Console.WriteLine(ex.StackTrace);
}
}
Console.ReadKey();
}
}
}
Что не так с этим фрагментом кода? Внутри блока try Console.WriteLine () работает как символ, но закомментированная строка внутри блока try File.WriteAllLines () не работает. Появляется сообщение об ошибке: указанный файл {} используется другим процессом.
Это происходит независимо от того, что, если я использую StreamWriter или File.WriteAllLines ()
Помощь оценена.
Soham