Как записать строку в файл c

Запись текста в файл построчно на C#

Три самых простых способа как записать текст в файл построчно на C#. Во всех случаях используется using System.IO; . Напишу сразу примеры кода без всяких прелюдий.

Способ 1

Записать текстовый файл построчно:

Чтобы добавить текстовые данные в файл, просто укажите true после имени файла:

В этом случае, если файл не существует, то он будет создан новый, а если файл существует, он будет открыт для добавления данных. Соответственно, если второй параметр указать false, файл будет перезаписан.

Чтобы указать кодировку записываемого текстового файла (например, DOS-кодировку) можно сделать так:

Так же можно использовать обёртку using чтобы не нужно было закрывать файл после записи.

Способ 2

Запись с использованием FileStream.

Способ 3

Записать текстовый файл целиком из массива строк:

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

Как записать строку в файл c

Для работы непосредственно с текстовыми файлами в пространстве System.IO определены специальные классы: StreamReader и StreamWriter .

Запись в файл и StreamWriter

Для записи в текстовый файл используется класс StreamWriter . Некоторые из его конструкторов, которые могут применяться для создания объекта StreamWriter:

StreamWriter(string path) : через параметр path передается путь к файлу, который будет связан с потоком

StreamWriter(string path, bool append) : параметр append указывает, надо ли добавлять в конец файла данные или же перезаписывать файл. Если равно true, то новые данные добавляются в конец файла. Если равно false, то файл перезаписываетсяя заново

StreamWriter(string path, bool append, System.Text.Encoding encoding) : параметр encoding указывает на кодировку, которая будет применяться при записи

Свою функциональность StreamWriter реализует через следующие методы:

int Close() : закрывает записываемый файл и освобождает все ресурсы

void Flush() : записывает в файл оставшиеся в буфере данные и очищает буфер.

Task FlushAsync() : асинхронная версия метода Flush

void Write(string value) : записывает в файл данные простейших типов, как int, double, char, string и т.д. Соответственно имеет ряд перегруженных версий для записи данных элементарных типов, например, Write(char value) , Write(int value) , Write(double value) и т.д.

Task WriteAsync(string value) : асинхронная версия метода Write. Обратите внимание, что асинхронные версии есть не для всех перегрузок метода Write.

void WriteLine(string value) : также записывает данные, только после записи добавляет в файл символ окончания строки

Task WriteLineAsync(string value) : асинхронная версия метода WriteLine

Рассмотрим запись в файл на примере:

В данном случае два раза создаем объект StreamWriter. В первом случае если файл существует, то он будет перезаписан. Если не существует, он будет создан. И в нее будет записан текст из переменной text. Во втором случае файл открывается для дозаписи, и будут записаны атомарные данные — строка и число.

По завершении в папке программы мы сможем найти файл note.txt, который будет иметь следующие строки:

В пример выше будет использоваться кодировка по умолчанию. но также можно задать ее явным образом:

Чтение из файла и StreamReader

Класс StreamReader позволяет нам легко считывать весь текст или отдельные строки из текстового файла.

Некоторые из конструкторов класса StreamReader:

StreamReader(string path) : через параметр path передается путь к считываемому файлу

StreamReader(string path, System.Text.Encoding encoding) : параметр encoding задает кодировку для чтения файла

Среди методов StreamReader можно выделить следующие:

void Close() : закрывает считываемый файл и освобождает все ресурсы

int Peek() : возвращает следующий доступный символ, если символов больше нет, то возвращает -1

int Read() : считывает и возвращает следующий символ в численном представлении. Имеет перегруженную версию: Read(char[] array, int index, int count) , где array — массив, куда считываются символы, index — индекс в массиве array, начиная с которого записываются считываемые символы, и count — максимальное количество считываемых символов

Запись в файл с C#

В этом посте представлен обзор некоторых доступных альтернатив записи текста в файл в C#. Решение должно создать новый файл, если он не существует, и обрезать существующий файл перед записью.

1. Использование File Class

Класс File предоставляет несколько статических служебных методов для записи текста в файл. Ниже приведены примеры каждого из этих методов:

⮚ File.WriteAllText() метод

⮚ File.WriteAllLines() метод

⮚ File.WriteAllBytes() метод

Обратите внимание, что вышеупомянутые методы перезаписывают существующий файл. Чтобы добавить текст в файл, используйте любой из AppendAllLines , AppendAllText , или же AppendText() методы.

2. Использование StreamWriter Class

StreamWriter class предоставляет несколько методов для записи в файл. Мы можем использовать его Write() метод записи строки в поток.

В следующем примере показано, как использовать StreamWriter объект для записи данных в новый файл. Dispose() метод вызывается автоматически для сброса и закрытия потока, поскольку средство записи потока объявляется и создается в операторе using.

Сохранить строку (string) в текстовый файл

Быстро сохранить в текстовый файл из Dictionary<string,string>
Привет всем неравнодушным. В словаре Dictionary есть пары ключ/значение примерно следующего.

Из файла считать строки длиной 50 символов и каждую такую строку сохранить в новый текстовый файл
Задачка стоит так. Есть текстовый файл @&quot;D:\Temp\Sample.txt&quot; с строками разной длинны. Нужно с него.

Добавить новую строку в StringGrid таблицу и сохранить в текстовый файл
Нужно добавить нового параллепипеда в таблицу StringGrid (код любые цифры, размеры а б ц и цвет ,и.

Текстовый файл UTF-8 сохранить как текстовый файл ANSI
Есть текстовый файл в UTF-8 Нужно рядом сохранить его же, но в ANSI Как сделать это средствами.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *