Tengo que escribir un archivo de texto en VB6. Necesito hacerlo añadiendo y codificado para utf-8.Escribir archivo de texto en anexar (codificación utf-8) en VB6
Intenté dos soluciones, una con "TextStream" y otra con "ADODB.Stream".
La primera de ellas:
Set fsoFile = fso.OpenTextFile(FileIn(fi), ForAppending, True)
fsoFile.WriteLine "<tag>kkkjòòkkkkjlòlk</tag>"
fsoFile.Close
funciona bien en añadiendo pero ¿cómo puedo escribirlo codificación UTF-8?
La segunda:
Dim ST As ADODB.Stream
Set ST = New ADODB.Stream
ST.Mode = adModeReadWrite
ST.Type = adTypeText
ST.Charset = "UTF-8"
ST.Open
ST.LoadFromFile FileIn(fi)
ST.Position = ST.Size
ST.WriteText "<tag>kkkjòòkkkkjlòlk</tag>"
ST.SaveToFile FileIn(fi)
ST.Close
escribir correctamente en UTF-8, pero no puedo escribir en el archivo añadiendo pero sólo con "adSaveCreateOverWrite".
¿Cómo puedo hacer eso? ¿Hay otra manera?
Muchas gracias.
Usando el objeto Stream ADODB, si el archivo está anexando a no es demasiado grande se puede abrir, leer el texto existente en una variable, luego escriba la variable y vuelva a salir el nuevo texto. También puede abrir un archivo nuevo cada vez, escribirle el texto existente y luego el texto nuevo. Mata el archivo actual y cambia el nombre del nuevo archivo. Complicado, pero funciona lo suficientemente rápido para archivos más pequeños que el usuario no deja esperando. – jac
Lamentablemente estoy trabajando con archivos de texto de gran tamaño. Creo que abrirlo y leer el texto existente en cada ciclo será un trabajo pesado para mi aplicación. – epi82