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

22 просмотра

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

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

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

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта