170 похожих чатов

Всем привет, а почему я не могу прочесть текстовый лог?

Код такой:
using (FileStream fs = new FileStream(logPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
using (StreamReader sr = new StreamReader(fs, encoding))
{
while (!sr.EndOfStream)
{
logsContent.Add(sr.ReadLine());
}
}
}
И исключение:
System.IO.IOException: Процесс не может получить доступ к файлу "C:\ProgramData\*******.log", так как этот файл используется другим процессом.
Прочесть я пытаюсь лог другой проги на dotnet, она скорее всего использует NLOG для его создания. При этом в Powershell Get-Content читает его нормально

19 ответов

27 просмотров

FileShare.ReadWrite зачем?

Павел-Львов Автор вопроса
Andrey Filippov
FileShare.ReadWrite зачем?

Со StackOverflow, я пока слабо понимаю что это даёт

Павел-Львов Автор вопроса
Andrey Filippov
FileShare.ReadWrite зачем?

Убрал, ничего не изменилось

Павел-Львов Автор вопроса
Mr. N
Проблема не в этом коде

А в чём? Я пытался исходники Powershell для Get-Content прочитать чтобы взять оттуда код, но моего скудного умишки не хватат чтобы понять))))

Павел-Львов Автор вопроса
Mr. N
В процессе занявший этот файл

Не, я же выше написал, что например тот же posh get-content его спокойно читает

Павел-Львов Автор вопроса
Mr. N
Значит ты сюда не всей код скинул

Почему не весь то? using открыл чтение, добавил построчно, всё

Павел-Львов Автор вопроса

Ни у кого идей нет?

Павел Львов
Ни у кого идей нет?

Что-то открывает файл на монопольный доступ. Если это "что-то" - не ваш софт, то не получится прочитать лог

Павел Львов
Ни у кого идей нет?

Попробуй не через FileStream, а через File.Open

Павел-Львов Автор вопроса
Павел-Львов Автор вопроса
SomebodyOdd
Что-то открывает файл на монопольный доступ. Если ...

Да именно так, но ведь Get-Content спокойно читает содержимое, или я его просто могу открыть блокнотом

Павел-Львов Автор вопроса
Dr. Friedrich von Never
Как убрал? Покажи код.

using (FileStream fs = new FileStream(logPath, FileMode.Open, FileAccess.Read)) { using (StreamReader sr = new StreamReader(fs, encoding)) { while (!sr.EndOfStream) { logsContent.Add(sr.ReadLine()); } } }

Павел-Львов Автор вопроса

Пипец, это оказался баг Net Framework 4,6,1, обновил проект до 4,8 и всё отличное читается

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта