Write-text-Datei Anhängen (utf-8-codiert) in VB6
Ich habe das schreiben einer Textdatei in VB6. Ich muss es tun in Anhängen und in utf-8 codiert.
Habe ich versucht zwei Lösungen, eine mit "TextStream" und einer mit "ADODB.Stream".
Die erste:
Set fsoFile = fso.OpenTextFile(FileIn(fi), ForAppending, True)
fsoFile.WriteLine "<tag>kkkjòòkkkkjlòlk</tag>"
fsoFile.Close
Funktioniert gut in Anhängen aber wie kann ich schreiben das es utf-8 codiert?
Den zweiten:
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
Schreiben korrekt in utf-8, aber ich kann nicht schreiben, die Datei Anhängen, aber nur mit "adSaveCreateOverWrite".
Wie kann ich das tun? Gibt es einen anderen Weg?
Danke Ihnen sehr.
- Mit Ihrem ADODB-Stream-Objekt, wenn die Datei, die Sie Anhängen, ist nicht zu groß, können Sie es öffnen, Lesen Sie den vorhandenen text in eine variable, dann schreiben Sie die variable, und der neue text wieder raus. Sie können auch öffnen Sie eine neue Datei jedes mal, schreiben Sie den vorhandenen text, um es dann den neuen text ein. Töten Sie die aktuelle Datei, und benennen Sie die neue Datei. Kompliziert, aber funktioniert schnell genug für kleinere Dateien, die der Benutzer nicht Links warten.
- Leider arbeite ich mit großen text-Datei. Ich denke, dass es öffnen und Lesen Sie den vorhandenen text zu jeder Schleife wird eine schwere Arbeit für meine Anwendung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie kombinieren könnte binäre I/O mit einem API-Aufruf, um die Konvertierung zu UTF-8:
LOF(OpenAppendUTF8)
null ist.Ich bevorzuge, um es zu speichern ANSI, wie es standardmäßig tut. Öffnen Sie es mit notepad und überschreibt es die Auswahl von UTF8-Codierung. Ich fand es ist der Schnellste Weg von weit.
Und ich mit einem anderen code Anhängen, zum Beispiel für eine Datenbank-Konvertierung: