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 ответов

6 просмотров

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 и всё отличное читается

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
9
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Карта сайта