2013-12-26 3 views
0

Мне было интересно, как я могу добавить новую строку в текстовый документ. Для примера, у меня есть текстовый документ с числами или любой другой, который содержит следующие две строки текста:Как добавить новую строку в текстовый документ

«444444

323233»

И я хочу, чтобы добавить новую строку, в которой будет как добавить новую комбинацию чисел, так как я могу это сделать? Сначала я сохраняю все строки в массиве, печатаю их и прошу пользователя выбрать, какую строку редактировать, и если выбранная строка не существует (в этой ситуации, если пользователь вводит число «3» в переменной n), я хочу программа для создания новой строки.

string path = C:\...\text1.text 
string[] lines = File.ReadAllLines(path); 
int i = 1; 

foreach (var line in lines) 
{ 
    Console.WriteLine("{0}. {1}", i, line); 
    i++; 
} 

Console.Write("Choose which line to edit: "); 
int n = int.Parse(Console.ReadLine()); 
n--; 

Console.Write("{0}. ", n + 1); 
lines[n] = lines[n].Replace(lines[n], Console.ReadLine()); 

File.WriteAllLines(path, lines); 

Спасибо!

ответ

0

Заменить следующие строки кода с упоминанием кодом:

string path = C:\...\text1.text 
List<string> lines = File.ReadAllLines(path); 
int i = 1; 

foreach (var line in lines) 
{ 
    Console.WriteLine("{0}. {1}", i, line); 
    i++; 
} 

    Console.Write("Choose which line to edit: "); 
    int n = int.Parse(Console.ReadLine()); 
    n--; 

Console.Write("{0}. ", n + 1); 

lines.Insert(n, Console.ReadLine()); 

File.WriteAllLines(path, lines.ToArray()); 
+0

Я не думаю, что это сработает, потому что мы заменяем N-й элемент массива, который не существует. Поэтому - исключение. –

+0

@Sapphire сделал это решение? –

+0

Да, исключение из диапазона вне диапазона. Мы не можем сказать, что нужно отредактировать строку, которая не существует. –

-1

Посмотрите здесь:

AppendAllText

для всех методов File:

File Methods

AppendAllText имеет подпись:

public static void AppendAllText(
    string path, 
    string contents 
) 

использовать:

File.AppendAllText("path/to/file/that/exists/myfile.txt", "Your new line here"); 
0

Environment.NewLine Свойство Возвращает строку новой строки, определенную для этой среды.

// Sample for the Environment.NewLine property 
using System; 

    class Sample 
    { 
     public static void Main() 
     { 
     Console.WriteLine(); 
     Console.WriteLine("NewLine: {0} first line{0} second line{0} third line", 
         Environment.NewLine); 
     } 
    } 
    /* 
     This example produces the following results: 

     NewLine: 
     first line 
     second line 
     third line 
    */ 
+0

Да, но я хочу, чтобы пользователю выбрать, как изменить что точное новую строку и я хочу, чтобы линия для добавления в текстовый документ , –

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