Я читаю файл, который периодически записывается сторонней программой. чтение Im, используя приведенную ниже FileStream:Чтение файла без возникновения IOException в сторонней программе
using (FileStream fs = new FileStream(
FullPath,
FileMode.Open,
FileAccess.Read,
FileShare.ReadWrite))
Однако программа третья сторона записи в файл, но с помощью FileShare.None
Так иногда у меня есть файл открыт для чтения, когда программа 3-й партии пытается открыть файл с эксклюзивным доступом, но не удается.
Как я могу прочитать этот файл, не вызывая проблем для сторонней программы? Я бы не прочь отпустить мое чтение, чтобы отдать приоритет другому приложению. Любой способ сделать это?
Вы пытались скопировать его во временное местоположение и прочитать оттуда? Обычно я создаю функцию, которая пытается прочитать файл, если он используется, возвращает false, но если не возвращает true, я пытаюсь скопировать и переместить файл в место, где я могу работать с ним. Работа с файлом производства может быть потенциально опасной, особенно при использовании двух процессов в миксе. – Bearcat9425
File.Copy просто выполняет FileStream в фоновом режиме. Проблема заключается не в том, когда я пытаюсь прочитать и заблокировать ее. Его, когда у меня есть доступ к файлу, и сторонняя программа пытается получить эксклюзивный доступ, но не могу, потому что я открываю его. – CathalMF
Что делать, если вы копируете файл в временное местоположение и позволяете вашей программе использовать этот временный файл так, чтобы исходный файл не использовался и поэтому может быть доступен третьей стороне без проблем. Если это имеет смысл: D – aladd04