"Файл уже используется", но только когда он открыт в Excel
Я использую Filehelpers для чтения файла журнала. Чтобы быть в безопасности, я хочу убедиться, что он не выдает ошибку "Файл уже используется". Может быть отдаленный шанс, что очистка средства записи журнала может все еще продолжаться, когда запускается процесс анализа журнала.
Я использую filehelpers "ReadFileAsDT" метод и передаю ему имя файла.
Я просмотрел исходный код и обнаружил, что он открывает файл в режиме только для чтения, который является правильным.
var stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read, bufferSize, FileOptions.SequentialScan);
this.Init(stream, encoding, detectEncodingFromByteOrderMarks, bufferSize);
Но все же, просто чтобы быть уверенным, что я сохранил файл журнала открытым в Excel. И запустил парсер логов. И это дало "Ошибка использования файла".
Если я оставлю файл открытым в Блокноте, Wordpad или Notepad++, эта ошибка не появится.
Есть ли что-то особенное в том, как Excel открывает файлы?
1 ответ
Excel поддерживает активную блокировку чтения / записи для файла. Это верно для ЛЮБОГО файла, который он открывает, и препятствует тому, чтобы другие приложения читали / записывали их половину времени.
Лично, если вы хотите, чтобы файл журнала открывался одновременно, используйте блокнот, WordPad или мой личный фаворит, так как он имеет много продвинутых функций, таких как перезагрузка файлов при их изменении, TextPad.