Как правильно создать и прочитать последнюю строку файла?

Я хочу создать файл (если он еще не создан) и прочитать последнюю строку:

if (!File.Exists(DirectoryPath))
{
    File.Create(DirectoryPath);
}
string lastLine = File.ReadLines(DirectoryPath).LastOrDefault();

Но мне возвращается исключение:"Процесс не может получить доступ к файлу". Что я делаю не правильно?


Ответы (1 шт):

Автор решения: CrazyElf

При вызове File.Create создаётся файловый поток, вы должны его закрыть, прежде чем опять открывать этот файл. У вас файл занят этим потоком. Пример из документации, где файловый поток закрывается автоматически с помощью using:

    using (FileStream fs = File.Create(path))
    {
        byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
        // Add some information to the file.
        fs.Write(info, 0, info.Length);
    }
→ Ссылка