Guten Morgen zusammen,
ich stehe vor folgendem Problem:
Ich lese per StreamReader ein File ein und speichere davon dann bestimmte Zeilen per StreamWriter in einem anderen File.
Nun habe ich vor, wenn der Inhalt an einer bestimmten Position einer Zeile n+1 (also auf Zeile n direkt folgend), dass dann der Inhalt der Zeile n nicht geschrieben wird!
[Dinge wie Substring sind mir bekannt, mir geht es nun eher um den Zeilenvergleich 😉 - ich denke dass ein kleiner Tipp ausreichend sein wird.]
Vielen Dank euch schonmal 😃
Hallo v
es gibt die: ReadAllLines-Methode. Je nach Grösse der Datei kannst du damit die kompletten Zeilen einlesen und kannst sie innerhalb einer Liste vergleichen.
Gruss
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
Ansonsten kannst du dir ja auch die letzte Zeile im Speicher halten (also aktuelleZeile und letzteZeile) und schreibst die Zeile erst einen lauf später in die Datei.
++Rekursion ++
(lat. , die) siehe Rekursion
Hallo g0su,
die entscheidende Frage ist, ob du alle Zeilen in den Speicher bekommst.
Wenn ja, ist die Aufgabe trvial, weil du beim Prüfen, ob die Zeile n geschrieben werden soll, schon auf die Zeile n+1 zugreifen kannst. Nicht vergessen zu prüfen, ob du schon bei der letzten Zeile bist und es somit keine Zeile n+1 mehr gibt.
Wenn du nicht alle Zeilen in den Speicher bekommst, dann ist es aber auch keine große Klippe, nicht nur die aktuelle, sondern auch die jeweils nächste Zeile schon mal einzulesen (die man im nächsten Schleifendurchlauf einfach zur aktuellen Zeile macht und wieder die nächste Zeile liest). Man muss nur am Ende aufpassen, dass man nicht vergisst, die letzte Zeile zu schreiben.
So oder so ist zu Lösung dieser Aufgabe nichts erforderlich, was nicht unter Grundlagenwissen fällt, siehe [Hinweis] Wie poste ich richtig? Punkt 1.1.1.
herbivore