Объект TextStream Scripting.FileSystemObject поддерживает Unicode в стиле Windows и «обычный текст», измененный системной кодовой страницей, но, похоже, не поддерживающий UTF8. Однако на самом деле он может передавать файлы, заблокированные для обновлений, такие как файл журнала IIS.
ADODB.Stream поддерживает UTF-8 (или необработанный двоичный файл), но не будет "LoadFromFile" файл, который был заблокирован для обновления, несмотря на то, что файл можно открыть, скажем, в блокноте. (Результаты ошибки: файл ADODB.Stream не может быть открыт. с кодом ошибки 0x800a0bba) — несмотря на попытку открыть поток в режиме «Чтение» или «Общий». Похоже, что COM-объект на стороне сервера требует большей блокировки, чем я на самом деле запрашиваю.
Есть ли другие альтернативы? Я вызываю их удаленно через DCOM, однако даже тестирование на самой хост-системе приводит к тому же поведению.
В идеале должен быть компонент, который будет действовать как поток (т. е. поддерживать механизмы поиска), может либо передавать необработанные байты (двоичные), либо может обрабатывать обычный текст, Unicode и UTF-8, а также может читать файлы, открытые для записи. . Кто-нибудь знает такого зверя?