Nice-books.net
» » » » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Тут можно читать бесплатно Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных год 2004. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте Nice-Books.Ru (NiceBooks) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

Запись в текстовый файл

Чтобы увидеть класс StreamWriter в действии, создайте новый проект консольного приложения по имени StreamWriterReaderApp и импортируйте пространства имен System.IO и System.Text. В показанном ниже коде с помощью метода File.CreateText() создается новый файл reminders.txt внутри текущего каталога выполнения. С применением полученного объекта StreamWriter в новый файл будут добавляться текстовые данные.

using System;

using System.IO;

using System.Text;

Console.WriteLine("***** Fun with StreamWriter / StreamReader *****n");

<b>// Получить объект StreamWriter и записать строковые данные.</b>

using(StreamWriter writer = File.CreateText(&quot;reminders.txt&quot;))

{

  writer.WriteLine(&quot;Don't forget Mother's Day this year...&quot;);

  writer.WriteLine(&quot;Don't forget Father's Day this year...&quot;);

  writer.WriteLine(&quot;Don't forget these numbers:&quot;);

  for(int i = 0; i &lt; 10; i++)

  {

    writer.Write(i + &quot; &quot;);

  }

<b>  // Вставить новую строку.</b>

  writer.Write(writer.NewLine);

}

Console.WriteLine(&quot;Created file and wrote some thoughts...&quot;);

Console.ReadLine();

//File.Delete(&quot;reminders.txt&quot;);

После выполнения программы можете просмотреть содержимое созданного файла, который будет находиться в корневом каталоге проекта (Visual Studio Code) или в подкаталоге binDebugnet5.0 (Visual Studio). Причина в том, что при вызове CreateText() вы не указали абсолютный путь, а стандартным местоположением является текущий каталог выполнения сборки.

Чтение из текстового файла

Далее вы научитесь программно читать данные из файла, используя соответствующий тип StreamReader. Вспомните, что StreamReader является производным от абстрактного класса TextReader, который предлагает функциональность, описанную в табл. 20.9.

Расширьте текущий пример приложения с целью применения класса StreamReader, чтобы в нем можно было читать текстовые данные из файла reminders.txt:

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

Console.WriteLine(&quot;***** Fun with StreamWriter/StreamReader *****n&quot;);

...

<b>// Прочитать данные из файла.</b>

Console.WriteLine(&quot;Here are your thoughts:n&quot;);

using(StreamReader sr = File.OpenText(&quot;reminders.txt&quot;))

{

  string input = null;

  while ((input = sr.ReadLine()) != null)

  {

    Console.WriteLine (input);

  }

}

Console.ReadLine();

После запуска программы в окне консоли отобразятся символьные данные из файла reminders.txt.

Прямое создание объектов типа StreamWriter/StreamReader

Один из запутывающих аспектов работы с типами пространства имен System.IO связан с тем, что идентичных результатов часто можно добиться с использованием разных подходов. Например, ранее вы уже видели, что метод CreateText() позволяет получить объект StreamWriter с типом File или FileInfo. Вообще говоря, есть еще один способ работы с объектами StreamWriter и StreamReader: создание их напрямую. Скажем, текущее приложение можно было бы переделать следующим образом:

Console.WriteLine(&quot;***** Fun with StreamWriter/StreamReader *****n&quot;);

<b>// Получить объект StreamWriter и записать строковые данные.</b>

using(StreamWriter writer = new StreamWriter(&quot;reminders.txt&quot;))

{

  ...

}

<b>// Прочитать данные из файла.</b>

using(StreamReader sr = new StreamReader(&quot;reminders.txt&quot;))

{

  ...

}

Несмотря на то что существование такого количества на первый взгляд одинаковых подходов к файловому вводу-выводу может сбивать с толку, имейте в виду,что конечным результатом является высокая гибкость. Теперь, когда вам известно, как перемещать символьные данные в файл и из файла с применением классов StreamWriter и StreamReader, давайте займемся исследованием роли классов StringWriter и StringReader.

Работа с типами StringWriter и StringReader

Классы StringWriter и StringReader можно использовать для трактовки текстовой информации как потока символов в памяти. Это определенно может быть полезно, когда нужно добавить символьную информацию к лежащему в основе буферу. Для иллюстрации в следующем проекте консольного приложения (StringReaderWriterApp) блок строковых данных записывается в объект StringWriter вместо файла на локальном жестком диске (не забудьте импортировать пространства имен System.IO и System.Text):

Перейти на страницу:

Троелсен Эндрю читать все книги автора по порядку

Троелсен Эндрю - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки Nice-Books.Ru.


Язык программирования C#9 и платформа .NET5 отзывы

Отзывы читателей о книге Язык программирования C#9 и платформа .NET5, автор: Троелсен Эндрю. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор Nice-Books.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*