Autor Beitrag
Flunda
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 15.05.08 16:35 
Hallo Leute, bin neu hier und hab auch gleich eine Frage:

Wie kann ich mit einem StreamWriter ein Textdokument überprüfen ob eine bestimmte Zeile(eingegeben durch eine Textbox) vorhanden ist. Und wie könnte ich diese Zeile dann löschen ?

Bitte um Hilfe mit dem Code

Danke =)


Moderiert von user profile iconChristian S.: Topic aus Sonstiges (.NET) verschoben am So 25.05.2008 um 12:47
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Do 15.05.08 16:55 
Also mit einem StreamWriter kannst du das nicht überprüfen.
Nehm einen Reader (Stream- oder Text-Reader oder irgendwas ähnliches halt) um damit die Datei einzulesen. Dann überprüfst du ob die zeile darin vorkommt falls ja löscht du sie raus.
Am Ende überschreibst du die Datei mit einer neuen Datei (da kannst du dann Streamwriter verwenden) mit dem bearbeiteten Inhalt.
Flunda Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 15.05.08 17:04 
aha und wie überprüfe ich ob die zeile vorkommt(sorry hab erst angefangen mit C#)

Danke =)
Chryzler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: Do 15.05.08 17:18 
Guck dir mal die Informationen in der MSDN zu File.WriteAllLines und File.ReadAllLines an. Dann musst du nur noch mit einer Schleife alle Zeilen durchgehen und überprüfen, ob es sich um die gesuchte Zeile handelt. Und wenn ja, dann diese eben löschen (geht leichter wenn du's mit ner Liste machst). Man kanns aber auch anderst machen: 8)
ausblenden C#-Quelltext
1:
File.WriteAllLines("datei.txt", File.ReadAllLines("datei.txt").Where(s => s != "Suchstring").ToArray());					
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Do 15.05.08 17:27 
Oder File.ReadAllText() und String.IndexOf(). Jürgen