Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 265

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 259 260 261 262 263 264 < 265 > 266 267 268 269 270 271 .. 404 >> Следующая


Существуют разнообразные способы создания экземпляров класса streamwriter. Еслн уже имеется объект Filestream, то можно воспользоваться им для создания объекта Streamwriter:

FileStream aFile = new FileStream('Log.txt',FileMode,CreateNew);

Streamwriter aw = new StreomWriter(aFile);

Объект streamwriter может также создаваться непосредственно из файла:

Streamwriter sw = new StreamWriterLog,txt",true);

Этот конструктор принимает в качестве параметров имя файла и логическое значение, которое указывает на то, следует ли добавлять информацию к уже существующему файлу или необходимо создать новый. Если это значение равно false, то либо происходит создание нового файла, либо из существующего файла сначала удаляется все хранящаяся в нем информация, а затем он открывается на запись. Еслн же это значение равно true, то файл просто открывается, а все хранящаяся
568 Глава 20

в нем информация сохраняется. Еслн такого файла не существует, то создается новый файл.

Обратите внимание на то, что здесь нет такого широкого спектра возможностей, как при создании объекта Filestream, Кроме логического значения, определяющего, следует ли добавлять информацию к уже существующему файлу или создавать новый файл, нет никаких других опций, например, отсутствует возможность задания свойства FileMode, которое мы уже задавали при работе с классом Filestream. Точно так же отсутствует возможность задания свойства FiieAccess, поэтому вы всегда будете обладать доступом к файлу на чтение/запись. Для того чтобы воспользоваться какой-либо из этих возможностей, следует сначала обратиться к конструктору класса Filestream, а затем создать объект streamwriter иа основе объекта Filestream.

Практикум: выходной поток

1. Создайте новый проект, Выберите пункт меню С# Console Application И Назовите его StreamWrite.

2. В данном случае опять придется воспользоваться пространством имен

System, ю, поэтому добавьте соответствующую строку в начало файла ciassl.св. ,

using System;

using System. 10,- _

3. Добавьте следующий код в метод Main(): static void Main(9tring[] args)

{

try

{

Filestream <i?ile •= new FileStream('Log.txt'.FileMod* OpenOrCreate) Streamwriter sw " new Streamwriter(aFile) ;

It Запись данных в файл

sw.WriteLine!'Hello World')j

SW.Write('This is a ');

sw.Write('string of characters.');

sw.Closet)i

)

catch(IOException e)

(

Console.WriteLine('An 10 exception has been thrown)');

Console.WriteLine (e.ToStringO ) ;

Console.ReadLine(); return

J

return;

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

Перейдите в директорию приложения и найдите там файл Log.txt. Он должен располагаться В папке StreamWriter\bin\DebugT поскольку используется относительный путь.
Работа с файлами

569

6. После того как вы откроете этот файл, вы увидите символы, приведенные на рисунке справа.

Как это работает — Выходной поток

Данное простое приложение демонстрирует работу двух наиболее важных методов класса StreamWriter —Write() И WriteLineO. У каждого из них имеется большое количество перегружаемых версии, позволяющих использовать различные сложные возможности при выводе в файл, однако б настоящем примере мы воспользовались основной возможностью вывода строки.

Метод WriteLineO осуществляет запись переданной строки, за которой немедленно следует символ новой строки. Как мы можем видеть в настоящем примере, это приводит к тому, что следующая операция записи выполняется с новой строки.

Метод write () просто записывает передаваемую ему строку в файл, не добавляя символа перехода к новой строке. Это позволяет осуществлять запись целого предложения или абзаца с помощью нескольких обращений к методу write о.

Форматирование данных

Точно так же, как существует возможность вывода данных в отформатированном виде на консоль, так и в файл мы можем записывать отформатированные данные. Для этого применяются те же методы —write!) и WriteLineO, но в этом случае им могут передаваться параметры, определяющие характер форматирования. Например:

aw.WriteLine('The Date is (0), System.DateTime.Now.ToShortDateStringО); sw.Write('{0}, (1), (2)*, 'Kay', 'Dan*, 'Hob');

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

Объект StreamReader

Входные потоки используются для считывания данных, хранящихся во внешних источниках. В большинстве случаев таким источником является дисковый файл или сетевой адрес. Однако не следует забывать, что в качестве такого источника может использоваться любой объект, отправляющий данные, например, сетевое приложение, web-служба и даже консоль.

Для чтения данных мы будем использовать класс StreamReader, Так же, как И класс streamwriter, класс StreamReader является общим классом, который может использоваться для любого потока. Мы снова будем создавать его на базе объекта Filestream, поэтому он будет ссылаться на нужный нам файл.
Предыдущая << 1 .. 259 260 261 262 263 264 < 265 > 266 267 268 269 270 271 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.