Я знаю, что это было задано несколько раз раньше, но я все еще не могу найти причину этого. Я уверен, что файл не используется внешней программой, поэтому причина должна быть в этом методе. Ошибка возникает в строке, где я инициализирую объект StreamWriter во второй раз (int for for loop).Процесс не может получить доступ к файлу «путь к файлу», потому что он используется другим процессом
static void WriteData(PeopleContainer people)
{
var file = new StreamWriter(File.Open(Directory + Output1, FileMode.Create), Encoding.GetEncoding(1257));
for (int i = 0; i < people.SeenByEveryone.Count; i++)
{
Film film = people.SeenByEveryone.GetFilm(i);
file.WriteLine("{1}{0}{2}{0}{3}{0}{4}{0}{5}{0}{6}{0}{7}{0}{8}", CsvSeparator, film.Title, film.Year,
film.Director, film.Genre, film.Company, film.BoxOffice, film.Actors[0], film.Actors[1]);
}
for (int i = 0; i < people.Count; i++)
{
Person person = people.GetPerson(i);
string path = String.Format("{0}Rekomendcija_{1}_{2}.csv", Directory, person.FirstName, person.LastName);
file = new StreamWriter(File.Open(path, FileMode.Create), Encoding.GetEncoding(1257));
for (int j = 0; j < person.RecomemdedFilms.Count; j++)
{
Film film = person.RecomemdedFilms.GetFilm(j);
file.WriteLine("{1}{0}{2}{0}{3}{0}{4}{0}{5}{0}{6}{0}{7}{0}{8}", CsvSeparator, film.Title, film.Year,
film.Director, film.Genre, film.Company, film.BoxOffice, film.Actors[0], film.Actors[1]);
}
}
}
Посмотрите на делать [string.join] (https://msdn.microsoft.com/en-us/library/57a79xd0%28v=vs.110%29.aspx?f= 255 & MSPPError = -2147217396) вместо форматирования такой строки. –