[C#] Bestimmte Zeilen in Textdatei löschen

08/27/2014 10:35 Stonheart#1
Hallo liebe Com,

ich suche schon etwas länger nach einer Lösung um bestimmte Zeilen in einer Textdatei zu löschen. Besipielsweise wird ab der ersten Zeile bis einer bestimmten Zeile alle Zeilen gelöscht und die Datei abgespeichert.

Versteht jemand was ich meine?
08/27/2014 11:32 Ky0n'#2
Hi,
das hier wird dir helfen:
Code:
List<string> lines = File.ReadAllLines(path).ToList<string>(); //path ist der Pfad zu deiner Datei
if(lines.Count >= lineToDelete) //lineToDelete ist ein int für die Zeilenangabe
{
  lines.RemoveAt(lineToDelete - 1);
  File.WriteAllLines(path, lines);
}
08/27/2014 17:43 Mostey#3
Quote:
Originally Posted by Stonheart View Post
Versteht jemand was ich meine?
Nein, du musst da schon konkreter werden und vielleicht auch mal Code posten. Man kann sich schwer vorstellen, was du vor hast.
09/03/2014 08:48 Stonheart#4
Also nehmen wir mal an ich habe ein XML-Dokument mit folgendem Inhalt:
Code:
Zeile 1
Zeile 2
Zeile 3
<?xml version="1.0" encoding="utf-8"?>
Nun will ich diese Datei mit dem Code
Code:
using (StreamReader readFileAsXml = new StreamReader(filePath, true)) 
     {
         this._xmlFileDocument = new XmlDocument();
         this._xmlFileDocument.Load(readFileAsXml);
     }
einlesen. Er spuckt jedoch eine Fehlermeldung aus, da er die ersten 3 Zeilen nicht lesen kann. Wie bekomme ich das hin der er diese Zeilen löscht/ignoriert .. damit er einfach ab dem XML-Stamm anfängt zu lesen?
09/08/2014 23:04 YatoDev#5
File.ReadAllText
und dann bei CRLF splitten. Carriage return und line feed. ich glaube es war vbCrlf als konstante.
dann les das array in ein neues ein und fange bei 2 an

Edit: kannst das array dann sofort wieder in einen einzelnen string einlesen aber vergess nicht CRLF