2014-11-17 2 views
-3

я могу вставить новую строку в файл,Проблема с написанием слова до конца строки

string filePath = @"C:\Users\user\Documents\1.txt"; 
    string tempPath = Path.GetTempFileName(); 
    using (var writer = new StreamWriter(tempPath))) 
    { 
     foreach (string line in File.ReadLines(filePath)) 
     { 
      writer.WriteLine(line); 
      if (line.StartsWith("google")) 
       writer.Write("StackOverflow"); 
     } 
    } 
    File.Delete(filePath); 
    File.Move(tempPath, filePath); 

Как я могу написать в конце строки? Может быть, мне нужно разобрать строку и поместить мое слово в line.length -position?

+0

так, когда вы находитесь на конец файла в этой строке 'foreach (строка строки в File.ReadLines (filePath)) {}' почему бы не просто написать строку, когда вы находитесь в 'use', но вне цикла foreach? а также взглянуть на решение «Хабиба», которое еще лучше .. также, пожалуйста, пройдите через код, очевидно, что вы просто запускаете его и проверяете конечные результаты, которые вы могли бы легко заметить, отлаживая все должное уважение. – MethodMan

+0

i do not понимаете, что вы хотите –

ответ

1

writer.WriteLine(line); добавит символ конца строки (\r\n), необходимо дописать строку после проверки, если условие выполняется, а затем использовать WriteLine как:

foreach (string line in File.ReadLines(filePath)) 
{ 
    if (line.StartsWith("google")) 
    { 
     writer.WriteLine(line + "StackOverflow"); 
    } 
    else 
    { 
     writer.WriteLine(line);   
    } 
} 
0

Просто конкатенируйте то, что вы хотите до конца строки.

writer.WriteLine(line + " Add this to the end of the line"); 
+0

О, я забыл, это так просто, спасибо –

Смежные вопросы