2017-06-29 8 views
-1

verwenden Ich habe eine einfache Frage zu stellen, wie Seek() Methode in C#, um an der bestimmten Stelle in der Txt-Datei zu schreiben. Beispiel:Wie Seek() Methode zum Schreiben an der bestimmten Stelle in C#

InfoBrother. //this is the Name. 

und ich möchte - wie anhängen.

Info-Brother //just want to add (-) after "o" in the Name. 

Vielen Dank im Voraus.

+0

zeigen Sie Ihren Code .. – Abhishek

+0

@Abhishek Ich versuche, einen Code zu schreiben, kann ich die Datei am Ende anhängen, aber wie es in der Mitte des Textes zu tun? kannst du den einfachen Code dafür schreiben? ? – InfoBrother

+0

Bitte lesen Sie [FileStream.Seek-Methode] (https://msdn.microsoft.com/en-us/library/system.io.filestream.seek (v = vs.110) .aspx) Artikel auf MSDN. Wenn Sie eine Debugging-Hilfe benötigen, müssen Sie das gewünschte Verhalten, ein bestimmtes Problem oder einen Fehler und den kürzesten Code angeben, der für die Reproduktion in der Frage erforderlich ist. Siehe auch [Erstellen eines minimalen, vollständigen und überprüfbaren Beispiels] (https://stackoverflow.com/help/mcve). – Alexander

Antwort

0

Wenn Sie die Position von 'o' suchen und von dort aus anfangen zu schreiben, dann wird die Anzahl der Bytes, die Sie schreiben, die Anzahl der Zeichen nach 'o' überschrieben.

Unter der Annahme, dass die Textdatei den Namen „a.txt“, die folgende ist eine bessere Art und Weise:

string[] lines = File.ReadAllLines("a.txt"); 
for(int i = 0; i<lines.Length; i++) 
{ 
    if(lines[i].Contains("InfoBrother")) 
    { 
     lines[i] = lines[i].Insert(4, "-"); 
    } 
} 
File.WriteAllLines("a.txt", lines); 

Wenn Sie noch suchen und schreiben wollen, dann ist die beste Antwort ist in diesem CodeProject Artikel

Verwandte Themen