Подтвердить что ты не робот

Как вставить строку в первую строку текстового файла?

У меня есть тестовый файл, содержащий

1,2,3
2,3,4
5,6,7

Я хочу вставить это в первую строку: A,B,C

Итак, я получаю:

A,B,C
1,2,3
2,3,4
5,6,7

Как я могу это сделать?

4b9b3361

Ответ 1

Как и в предыдущих ответах, но это иллюстрирует, как делать то, что вы хотите сделать, одновременно уменьшая потребление памяти. Невозможно прочитать весь файл, который вы хотите изменить, даже если его открыть в потоке чтения/записи, потому что вы не можете "вставить" данные.

static void WriteABC(string filename)
{
    string tempfile = Path.GetTempFileName();
    using (var writer = new StreamWriter(tempfile))
    using (var reader = new StreamReader(filename))
    {
        writer.WriteLine("A,B,C");
        while (!reader.EndOfStream)
            writer.WriteLine(reader.ReadLine());
    }
    File.Copy(tempfile, filename, true);
}

Ответ 2

Вот ссылка, которая объясняет, как использовать классы TextReader (StreamReader) и TextWriter (StreamWriter) в С#.

http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=132

Хотя это характерно для С#, подход может быть относительно одним и тем же на многих языках.

(Примечание. Существует несколько способов сделать это, это всего лишь одна идея, которая быстро приходит на ум.)

По существу, вы можете прочитать содержимое вашего текстового файла в строке, найти начало этой строки, записать свою информацию (A, B, C с возвратом каретки или линейные каналы), а затем записать эту информацию обратно в текстовый файл, перезаписывающий исходное содержимое и сохранение.

Ответ 3

Я думаю, что этот ответ проще и быстрее:

public static void WriteToFile(string Path, string Text)
{
    string content = File.ReadAllText(Path);
    content = Text + "\n" + content;      
    File.WriteAllText(Path, content);
}

Затем вы можете вызвать его:

WriteToFile("yourfilepath", "A,B,C");

Ответ 4

Вы не можете "вставить" что-либо в текстовый файл.

Вам нужно

  • скопировать содержимое
  • инертные дополнительные данные в нужное время
  • закрыть файлы
  • удалить оригинал и переименовать новый со старым именем