Hallo,
ich folgende Aufgabe wurde mir gegeben:
Verzeichnis nach Dateien durchsuchen -> Bestimmte Dateien einlesen -> Eingelesene Dateien nach bestimmten Mustern durchsuchen -> Gefundene Treffer ersetzen -> Datei abspeichern
Das ganze wird in IronDelphi realisiert, aber da ich ja auf .NET zugreife, denke ich, dass das Thema hier nicht ganz falsch ist. Die o.g. Aufgabe stellt für mich kein Problem dar, jetzt ist aber ein Problem aufgetaucht undzwar das Encoding der abgespeicherten Dateien. In einigen Dateien werden Umlaute benutzt und wenn diese nicht in UTF-8 abgespeichert werden, treten Fehler auf (jetzt nicht in meinem Problem, sondern in anderen Programmen, die die Dateien verwenden).
Das Anlegen und Abspeichern der neuen Datei habe ich so realisiert:
1. Temporäre Datei mit .tmp erstellen
2. StreamWriter-Objekt erstellen mit File.AppendText(Datei)
3. Original-Datei einlesen
4. Einfügen der Zeilen der Originaldatei in die temporäre Datei
5. Beenden der Aktion mit .Flush() und .Close()
In der Dokumentation steht das File.AppendText() einen UTF8-codierten Text an die Datei anfügt, aber die Dateien sind definitiv nicht UTF8 codiert.
Weiß jemand Rat?
Gruß
Moderiert von
Christian S.: Topic aus C# - Die Sprache verschoben am Di 25.09.2012 um 10:35