Laden...

Umlaute und Text anhängen

Erstellt von Justin-d-Sohr vor 19 Jahren Letzter Beitrag vor 19 Jahren 2.753 Views
J
Justin-d-Sohr Themenstarter:in
8 Beiträge seit 2005
vor 19 Jahren
Umlaute und Text anhängen

Die Umlaute lassen mich nicht los (Hallo erst mal 🙂.

Ich habe eine Text-Datei. Da stehen mehrere Zeilen drin, z.B.:

0#a#
1#ä#
0#o#

Jetzt möchte ich am Ende der Datei etwas einfügen, z.B.

1#ö#

Problem: Beim StreamWriter gibt es keinen Befehl, am Ende Text anzuhängen (?).
Wenn ich aber z.B. AppendText mit StreamWriter oder TextWriter verwende, dann weiß ich nicht, wie ich das Encoding angeben kann; bei Textwriter werden die Umlaute als zwei Sonderzeichen gespeichert, nicht aber im Klartext.

Frage: Wie kann ich, wenn ich Text an die Datei anhänge, die Umlaute im Klartext speichern?

Wieder mal Danke für rasche Hilfe,
Justin.

49.485 Beiträge seit 2005
vor 19 Jahren

Hallo Justin-d-Sohr,

wenn du mit


StreamWriter sw = File.AppendText(path));

einen StreamWriter zurückbekommst, kannst du doch per StreamWriter.Encoding setzten, was du brauchst, bevor du den Text ausgibst.

HTH

herbivore

J
Justin-d-Sohr Themenstarter:in
8 Beiträge seit 2005
vor 19 Jahren

Hmm, Nein, so geht es nicht:

StreamWriter.Encoding ist nur eine Get-Methode, ich kann das Encoding damit nicht setzen.
Oder mache ich da was falsch?

N
4.644 Beiträge seit 2004
vor 19 Jahren

Original von Justin-d-Sohr
Manchmal ist die Hilfe von C# ein Dschungel...

Das ist doch gleich in der Übersicht vom StreamWriter zu finden. 😉

49.485 Beiträge seit 2005
vor 19 Jahren

Hallo Justin-d-Sohr,

du hast recht StreamWriter.Encoding kann man nicht nachträglich setzen, man muss es dem gleich dem Konstruktor mitgeben. Da das StreamWriter-Objekt aber per File.AppendText erzeugt wird, benutzt man den Konstruktor ja nicht so direkt wie bei new.

Mein Problem ist: Ich sitze gerade nicht an meinem eigenen Rechner und kann deshalb nicht so einfach gucken und ausprobieren. Ich kann nur soviel sagen: Es muss gehen und zwar auch relativ simpel. Vielleicht hilft das schon mal. Ansonsten kann ich morgen Nachmittag noch mehr dazu schreiben.

herbivore

T
81 Beiträge seit 2004
vor 19 Jahren

using(FileStream fs = new FileStream("datei.txt", FileMode.Append)) {
    StreamWriter writer = new StreamWriter(fs, deinEncoding);

    // ...
}

J
Justin-d-Sohr Themenstarter:in
8 Beiträge seit 2005
vor 19 Jahren

Also erst mal ein großes Lob: Euer Forum ist echt super und ich finde es toll, daß Ihr so hilfsbereit seid!

Werde das gleich mal probieren.

Justin.