private void ReWriteFile(string NewFileName) {
List<String> _errorLine = new List<string>() {
"Error Line 1", "Error Line 2"
};
String _fileName = "InputFile.txt";
String _outputFile = NewFileName;
List<string> linetoDelete = _errorLine;
String[] sourceLines = File.ReadAllLines(_fileName);
if (sourceLines.Length > 0) {
using (StreamWriter writer = new StreamWriter(_outputFile)) {
foreach(String line in sourceLines) {
if (!_errorLine.Contains(line)) {
writer.WriteLine(line);
}
}
}
}
}
Lesen und Schreiben von Dateien in Text ist ein rudimentäres Teil der Programmierung und Ihre Frage fehlt jegliche Beweise zu versuchen, das Problem selbst zu lösen.
Ein paar Punkte zu beachten.
1) Wenn Sie eine Textdatei zur Verarbeitung lesen, laden Sie das Los in ein Array von String
Objekten. Die Quelle ändert sich während der Verarbeitung nicht. Sie müssen also kein Lesegerät geöffnet halten, das die Datei hält.
2) Löschen von Inhalt aus einer Datei ist ein schlechter Ansatz, da Sie möglicherweise die Datei während der Verarbeitung ändern. Dies führt zu Problemen, wenn Sie die Datei zu der Zeit auflisten (vorausgesetzt, Sie verwenden einen Reader in einer Schleife).
3) Mein Ansatz ist nicht perfekt - wenn die _errorLine
Liste ist lang, und die Quelldatei ist auch lang, es wird eine Menge Anrufe zu prüfen, ob die _errorLines
Liste ein bestimmtes String
enthält. Es wird einen schnelleren Weg geben, dies zu tun, aber ich habe keine Zeit für umfangreiche Tests.
4) Als eine Folge zu Punkt 3 wird dieser Code nicht getestet und erfordert möglicherweise kleine Anpassungen, damit er richtig funktioniert.
Wenn Sie schließlich eine Frage zu SO stellen, zeigen Sie, dass Sie zumindest versucht haben, das Problem zu lösen, indem Sie uns ein Beispiel geben und uns bitten, Ihre Arbeit für Sie zu erledigen.
Informationen zum Lesen/Schreiben von Dateien finden Sie auf den folgenden Seiten.
Die Anzahl der frisch graduierten Programmierer, die ich gesehen habe, die grundlegende IO-Funktionen wie diese nicht codieren kann, ist etwas beunruhigend!
https://msdn.microsoft.com/en-GB/library/ezwyzy7b.aspx
https://msdn.microsoft.com/en-GB/library/aa287548%28v=vs.71%29.aspx
Ich verstehe es nicht. Welches Problem hatten Sie mit Ihrem Code? –