М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
polina19812004
polina19812004
27.10.2022 18:38 •  Информатика

Считывание/запись файла в С#. Пример с описанием​

👇
Ответ:
Ckorpid
Ckorpid
27.10.2022

Для чтения/записи файлов в C# можно использовать несколько подходов в зависимости от задачи. Например, если нужно вывести весь текст из файла в консоль - можно использовать File.ReadAllText(). Если же нужно форматировать каждую строку файла или, например, необходимо считывать текст файла по одному символу - можно использовать StreamReader. Разумеется, считывать с файла можно не только сплошной текст. Это могут быть байты, отдельные строки; опять же в зависимости от задачи. Аналогичная ситуация с записью в файл. Для записи используем File.WriteAllBytes() или StreamWriter. Классы File, StreamReader, StreamWriter и др. находятся в пространстве имен System.IO. Обязательно напишите строку кода: using System.IO; или обращайтесь к классу так: System.IO.File.ReadAllLines(); Также хочу сразу предотвратить возможную ошибку: если вы открываете файл для записи/чтения, не забудьте освободить ресурсы. Иначе файл так и останется открытым, и если к нему еще раз обратиться, то будет ошибка.  Для этого закрывайте файл или освобождайте ресурсы вручную: File.Create().Close(); или reader.Dispose(); Но есть возможность делать это автоматически. Для этого нужно использовать using как в моем коде.

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

Код:

using System;

using System.IO;

using System.Text;

using System.Collections.Generic;

namespace ConsoleApp1

{

   internal class Program

   {

       private static void Main(string[] args)

       {

           //Путь к входным и выходным файлам.

           const string inputPath1 = @"D:\ProgramsTester\Input1.txt";

           const string inputPath2 = @"D:\ProgramsTester\Input2.txt";

           const string outputPath1 = @"D:\ProgramsTester\Output1.txt";

           const string outputPath2 = @"D:\ProgramsTester\Output2.txt";

           //Список.

           List<string> items = new List<string>();

           //Использует StreamReader, а затем высвобождает ресурсы.

           using (StreamReader reader = new StreamReader(inputPath1))

           {

               //Читает весь файл.

               while (!reader.EndOfStream)

               {

                   items.Add(reader.ReadLine());

               }

           }

           //Сортировка массива.

           items.Sort();

           //Использует StreamWriter, а затем высвобождает ресурсы.

           using (StreamWriter writer = new StreamWriter(outputPath1))

           {

               //Записывает отсортированный список в файл.

               for (int i = 0; i < items.Count; i++)

               {

                   writer.WriteLine(items[i]);

               }

           }

           //Байты из файла, хранящего сообщение, записываются в массив байт.

           byte[] fileBytes = File.ReadAllBytes(inputPath2);

           //Запись закодированного сообщения в файл.

           File.WriteAllText(outputPath2, Convert.ToBase64String(fileBytes));

           //Вывод декодированного сообщения, полученного из файла.

           Console.WriteLine("Decoded text: " + Encoding.Default.GetString(Convert.FromBase64String(File.ReadAllText(outputPath2))));

           _ = Console.ReadKey();

       }

   }

}


Считывание/запись файла в С#. Пример с описанием​
Считывание/запись файла в С#. Пример с описанием​
4,7(68 оценок)
Открыть все ответы
Ответ:
esken576
esken576
27.10.2022
Вот: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 const   n=5; var   a: array[1..n,1..n] of integer;   i,j,s: integer; begin   s: =0;   randomize;   for i: =1 to n do     begin       for j: =1 to n do         begin           a[i,j]: =random(10);           write(a[i,j]: 4);           if (i+j) mod 3=0 then             s: =s+a[i,j];         end;       writeln;     end;   writeln('s=',s); end.
4,8(43 оценок)
Ответ:
mslava150
mslava150
27.10.2022
Салат оливье. ингредиенты 1 баночка зеленого горошка (400г) 300 г мяса 4 яйца 350 г картофеля 100 г соленых или маринованных огурцов 150 г лука соль майонез алгоритм приготовления: 1.мясо отварить до готовности (варить около 40 минут после закипания) . 2.остудить. 3.лук мелко покрошить. 4.залить его кипятком и оставить на 10 минут, затем воду слить, лук промыть в холодной воде. 5.мясо нарезать кубиками. 6.картофель почистить, нарезать кубиками. 7. яйца мелко покрошить. 8.огурцы мелко нарезать. 9.смешать картофель, мясо, лук, горошек (воду слить) , яйца, огурцы. 10.посолить. 11. заправить майонезом. 12. украсить по вкусу, например зеленым горошком
4,8(26 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ