Text-Datei als String laden

Hallo,
Ich wüsste gerne wie ich in C# eine Textdatei laden kann und den Inhalt in einem String speichere. Ich habe zwar schon einige Ansätze gefunden, aber immerwieder kamen Fehlerquellen.

Es ist nichtmal erforderlich, eine wählbare Quelle anzugeben. Es reicht eine feste.

Hoffe ihr könnt mir helfen.

Gruß
GURKE

Hi,
das geht sehr einfach mit einem StreamReader:

private static void lesen()
{
 string datei;
 try
 {
 FileStream fs = new FileStream(@"Dein Pfad", FileMode.Open);
 StreamReader sr = new StreamReader(fs);
 datei = sr.ReadToEnd();
 }
 catch (IOException ex)
 {
 MessageBox.Show(ex.Message);
 }
}

Lg der einzigware

Moin einzigwarer,

private static void lesen()
{
string datei;
try
{
FileStream fs = new FileStream(@„Dein Pfad“,
FileMode.Open);
StreamReader sr = new StreamReader(fs);
datei = sr.ReadToEnd();
}
catch (IOException ex)
{
MessageBox.Show(ex.Message);
}
}

Danke für den Code! Angepasst funktioniert er einwandfrei!

Wie kann ich denn das ganze wieder abspeichern?
Wenn ich den StreamReader zu StreamWriter wechsel, kommt nen Fehler

Gruß
GURKE

Hey

Ich würde es wichtig finden, dass der Stream etc. auch wieder ordentlich geschlossen und freigegeben wird.

Also noch ein sr.Close(), fs.Close(), sr.Dispose() und fs.Dispose() hinten dran hängen.

Zum Datei schreiben:
Kommt auch drauf an, ob du Text der Datei hinzufügen willst, oder ob du das vorhandene ersetzen willst. Beim ersetzen FileMode.Append einfach durch FileMode.Truncate ersetzen.

FileStream fs = new FileStream(@"Dein Pfad", FileMode.Append)
StreamWriter sw = new StreamWriter(fs);

sw.Write("Dein TExt");

sw.Close();
fs.Close();
sw.Dispose();
fs.Dispose();

MfG IGnow

1 Like

Hi,

Ich würde es wichtig finden, dass der Stream etc. auch wieder ordentlich geschlossen und freigegeben wird.
Also noch ein sr.Close(), fs.Close(), sr.Dispose() und fs.Dispose() hinten dran hängen.

Stimmt war mein Fehler normalerweise nutze ich sowas nur wenn das Programm danach beendet wird daher entfällt das schließen.
Lg der einzigware

Moin IGnow,
Danke für deine Antort! Der Code hat einwandfrei funktioniert! (Für pingelige: Es fehlte nur ein „;“)

Wofür muss ich den „Stream“ wieder schließen?

Gruß
GURKE

Wofür muss ich den „Stream“ wieder schließen?

Um unverwendeten Speicher wieder freizufgeben.
Um anderen Programmen den Zugriff auf die Datei zu ermöglichen.
Weil es einfach zum guten Stil gehört :wink:

MfG IGnow

Okay :smiley: