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