using System.IO; // подключаем библиотеку для работы с файлами
namespace ConsoleApplication1
<
class Program
<
static void Main( string [] args)
<
// имя файла
string filePath = «D://1.txt» ;
// текст для записи в файл
string text = «Hello!» ;
// открываем файл (стираем содержимое файла)
FileStream fileStream = File.Open(filePath, FileMode.Create);
// получаем поток
StreamWriter output = new StreamWriter(fileStream);
// записываем текст в поток
output.Write(text);
// подключаем библиотеку для работы с файлами
using System.IO;
namespace ConsoleApplication1
<
class Program
<
static void Main( string [] args)
<
// имя файла
string filePath = @ «D:1.txt» ;
// текст запишем в файл
string text = «Hello!» ;
FileStream fileStream = null;
// проверяем существует ли файл файл
if (!File.Exists(filePath))
fileStream = File.Create(filePath); // создаем файл
else
fileStream = File.Open(filePath, FileMode.Append); // открываем файл и в конец будут добавлены данные
// получаем поток
StreamWriter output = new StreamWriter(fileStream);
Дата изменения: 10.10.2017
Чтение данных и запись данных в файл задача мене тривиальная, чем можно предположить. Функционал System.IO представляет несколько способов сделать это, в зависимости от задач и ограничений, которые стоят перед программистом.
Способы чтения и записи в файл:
- Статическими методами класса File.
- С помощью методов классов StreamReader и Streamwriter.
- С помощью методов классов BinaryReader и BinaryWriter.
Первый способ самый удобный, поскольку позволяет считать или заполнить весь файл буквально в одну строку кода. Благодаря тому, что методы класса File статические, нет необходимости создавать экземпляры объектов, работающих с файлами. Для большинства задач его методы подходят.
Обьекты StreamReader и StreamWriter (BinaryReader и BinaryWriter) возвращаются методами класса FileInfo, как экземпляры, непосредственно работающие с файлом. Код становится более громоздким, но и более гибким, поскольку позволяет организовать сложную систему считывания/записи данных файл, внутри единого блока try/catch для обработки исключений.
Для использования любого из методов в этом разделе нужно включить в код программы библиотеку System.IO перед их вызовом.
Каждый из классов рассматривается нами подробно в отдельных разделах. Сейчас перейдем непосредственно к примерам.
Содержание
- Считывание данных из файла
- Запись в файл
- Способ 1
- Способ 2
- Способ 3
Считывание данных из файла
Функционал класса File позволяет считывать из файла данные в виде строк. Основной метод, который используется при этом – ReadAllText.
При вызове через имя класса он:
- Открывает файл.
- Считывает все строки файла.
- Закрывает файл.
Это удобно в большинстве случаев. Поскольку считывание выполняется в одну строку и есть гарантия, что файл после использования будет закрыт и его можно без боязни вызвать исключение удалить или переместить в новое место.
Подобные инструкции можно воплотить через использования метода ReadToEnd класса StreamReader.
Запись в файл
Функционал записи текста в файл в классе File главным образом представлен методом WriteAllText. Метод имеет два параметра: строковое имя файла и строку или массив строк, которые нужно записать в файл. Метод сам откроет файл, запишет в него текст и закроет его. Весь код умещается в одну строку:
Те же самые иструкции легко выполнить методами класса StreamWriter.
Пример:
Запись в фалй с помощью средств класса StreamWriter можно выполнить асинхронноЮ если применить асинхронную версию метода записи. Например:
Три самых простых способа как записать текст в файл построчно на C#. Во всех случаях используется using System.IO; . Напишу сразу примеры кода без всяких прелюдий.
Способ 1
Записать текстовый файл построчно:
Чтобы добавить текстовые данные в файл, просто укажите true после имени файла:
В этом случае, если файл не существует, то он будет создан новый, а если файл существует, он будет открыт для добавления данных. Соответственно, если второй параметр указать false, файл будет перезаписан.
Чтобы указать кодировку записываемого текстового файла (например, DOS-кодировку) можно сделать так:
Так же можно использовать обёртку using чтобы не нужно было закрывать файл после записи.
Способ 2
Запись с использованием FileStream.
Способ 3
Записать текстовый файл целиком из массива строк:
Думаю, приведенных примеров вполне достаточно для решения большинства задач по записи текстового файла.
Источник: