Чтение и запись файлов
Узнайте, как создавать, читать и записывать файлы с помощью C#
«Чтение и запись файлов» — бесплатный урок C# Academy на CoddyKit. Это урок 1 из 5. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C# Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C# Academy содержит 5 уроков всего.
Введение в файловый ввод-вывод
Чтение и запись файлов
Добро пожаловать на первый урок раздела «Работа с файлами и данными»! На этом уроке вы научитесь читать и записывать файлы в C#, чтобы сохранять и извлекать данные из текстовых файлов. Давайте начнём!

Зачем работать с файлами?
Зачем работать с файлами?
Файлы позволяют программам сохранять данные, делая их доступными даже после закрытия приложения. Независимо от того, храните ли вы данные пользователей, журналы или конфигурации, работа с файлами — важный навык для разработчиков.
Ключевой момент: C# предоставляет встроенные классы, такие как File, StreamReader и StreamWriter, для выполнения операций с файлами.
Чтение файлов
Чтение файлов
Чтобы прочитать содержимое файла, используйте метод File.ReadAllText() для небольших файлов или StreamReader для больших файлов. Пример:
Ключевой момент: Всегда проверяйте существование файла перед попыткой его прочитать.
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "example.txt";
// Reading a file using File.ReadAllText()
if (File.Exists(filePath)) {
string content = File.ReadAllText(filePath);
Console.WriteLine("File Content:");
Console.WriteLine(content);
} else {
Console.WriteLine("File does not exist.");
}
}
}
Запись файлов
Запись файлов
Чтобы записать данные в файл, используйте метод File.WriteAllText() для небольших файлов или StreamWriter для более точного управления. Пример:
Совет: Используйте File.AppendAllText(), чтобы добавить данные в существующий файл, не перезаписывая его.
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "output.txt";
string content = "Hello, this is a test file.";
// Writing to a file using File.WriteAllText()
File.WriteAllText(filePath, content);
Console.WriteLine("File written successfully.");
}
}
Построчное чтение файлов
Построчное чтение файлов
Для больших файлов эффективнее читать их построчно с помощью StreamReader. Пример:
Ключевой момент: Используйте оператор using, чтобы файл был правильно закрыт после чтения.
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "example.txt";
// Reading a file line by line using StreamReader
if (File.Exists(filePath)) {
using (StreamReader reader = new StreamReader(filePath)) {
string line;
while ((line = reader.ReadLine()) != null) {
Console.WriteLine(line);
}
}
} else {
Console.WriteLine("File does not exist.");
}
}
}
Добавление данных в файлы
Добавление данных в файлы
Чтобы добавить данные в существующий файл, используйте File.AppendAllText() или StreamWriter с флагом append, установленным в значение true. Пример:
Совет: Используйте Environment.NewLine, чтобы обеспечить правильный перенос строк.
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "output.txt";
string newContent = "This line will be appended.";
// Appending data to a file
File.AppendAllText(filePath, newContent + Environment.NewLine);
Console.WriteLine("Data appended successfully.");
}
}
Практическое задание
Практическое задание
Создайте программу, которая записывает список введённых пользователем имён в файл, а затем читает файл и отображает эти имена. Пример:
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "names.txt";
// Writing user-entered names to a file
Console.WriteLine("Enter names (type 'exit' to stop):");
using (StreamWriter writer = new StreamWriter(filePath)) {
string name;
while ((name = Console.ReadLine()) != "exit") {
writer.WriteLine(name);
}
}
// Reading the file
Console.WriteLine("\nNames in the file:");
using (StreamReader reader = new StreamReader(filePath)) {
string line;
while ((line = reader.ReadLine()) != null) {
Console.WriteLine(line);
}
}
}
}
Рекомендации по работе с файлами
Рекомендации по работе с файлами
Ниже приведены рекомендации:
- Всегда проверяйте существование файла перед его чтением или добавлением в него данных.
- Используйте оператор
using, чтобы автоматически закрывать файловые потоки. - Обрабатывайте исключения, чтобы избежать сбоев при работе с отсутствующими или заблокированными файлами.
Совет: Правильная работа с файлами делает программу надёжной и избавляет её от ошибок.
Повторение: ввод-вывод файлов
Отличная работа!
Поздравляем! Вы научились читать файлы и записывать в них данные в C#. На следующем уроке мы изучим работу с форматами данных JSON и XML. Продолжим программировать!

Часто задаваемые вопросы
Урок «Чтение и запись файлов» бесплатный?
Да — полный текст урока «Чтение и запись файлов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C# Academy, подпишись на CoddyKit PRO. Курс C# Academy содержит 5 уроков всего.
Чему я научусь в уроке «Чтение и запись файлов»?
Узнайте, как создавать, читать и записывать файлы с помощью C# Ты практикуешь C# Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать C# Academy?
Предыдущий опыт не требуется. C# Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 5.
Сколько времени занимает урок «Чтение и запись файлов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке C# Academy?
Да. Каждый урок C# Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Чтение и запись файлов
- Работа с JSON и XML
- Обработка исключений
- Работа с базами данных
- Использование LINQ для запросов к данным