The Scripting.FileSystemObject TextStream object supports Windows style Unicode and 'plain text' modified by the system codepage, but does not appear to support UTF8 -- However, it can actually stream files that are locked for updates, such as an IIS logfile.
ADODB.Stream supports UTF-8 (or raw binary), but will not "LoadFromFile" a file that has been locked for updating, despite the file being openable in, say, notepad. ( Results in the error: ADODB.Stream File could not be opened. with an error code of 0x800a0bba ) -- This despite trying to open the stream in "Read" mode or "Shared" mode. Seems as though the server-side COM object demands more locking than I actually request it to.
Are there any other alternatives? I am invoking these remotely via DCOM, however even testing on the host system itself results in the same behaviour.
Ideally there would be a component that would act as a stream (i.e. support seek mechanisms), can either stream the raw bytes (binary) or can handle plain text, Unicode, and UTF-8, and can read files that are open for writing. Anyone know of such a beast?