Симон Робинсон - C# для профессионалов. Том II

Тут можно читать онлайн Симон Робинсон - C# для профессионалов. Том II - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Лори, год 2003. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    C# для профессионалов. Том II
  • Автор:
  • Жанр:
  • Издательство:
    Лори
  • Год:
    2003
  • Город:
    Москва
  • ISBN:
    5-85582-187-0
  • Рейтинг:
    4.88/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Симон Робинсон - C# для профессионалов. Том II краткое содержание

C# для профессионалов. Том II - описание и краткое содержание, автор Симон Робинсон, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
C# для профессионалов

Платформа .NET предлагает новую среду, в которой можно разрабатывать практически любое приложение, действующее под управлением Windows, а язык C# — новый язык программирования, созданный специально для работы с .NET.

В этой книге представлены все основные концепции языка C# и платформы .NET. Полностью описывается синтаксис C#, приводятся примеры построения различных типов приложений с использованием C# — создание приложений и служб Windows, приложений и служб WWW при помощи ASP.NET, а также элементов управления Windows и WWW Рассматриваются общие библиотеки классов .NET, в частности, доступ к данным с помощью ADO.NET и доступ к службе Active Directory с применением классов DirectoryServices.

Для кого предназначена эта книга

Эта книга предназначена для опытных разработчиков, возможно, имеющих опыт программирования на VB, C++ или Java, но не использовавших ранее в своей работе язык C# и платформу .NET. Программистам, применяющим современные технологии, книга даст полное представление о том, как писать программы на C# для платформы .NET.

Основные темы книги

• Все особенности языка C#

• C# и объектно-ориентированное программирование

• Приложения и службы Windows

• Создание web-страниц и web-служб с помощью ASP NET

• Сборки .NET

• Доступ к данным при помощи ADO NET

• Создание распределённых приложений с помощью NET Remoting

• Интеграция с COM, COM+ и службой Active Directory

C# для профессионалов. Том II - читать онлайн бесплатно полную версию (весь текст целиком)

C# для профессионалов. Том II - читать книгу онлайн бесплатно, автор Симон Робинсон
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

FileStream fs =

new FileStream(@"C:\My Documents\ReadMe.txt", FileMode.Open,

FileAccess.Read, FileShare.None);

StreamReader sr = new StreamReader(fs);

Для этого примера мы уточняем., что StreamReaderбудет искать маркеры кода байтов, чтобы определись используемый метод кодирования, так он будет делать и в следующих примерах, где StreamReaderполучают из экземпляра FileInfo:

FileInfo MyFile = new FileInfo(@"C:\My Documents\ReadMe.txt");

StreamReader sr = MyFile.OpenText();

Также как с FileStream, необходимо всегда закрывать StreamReaderпосле использования. Невыполнение этого приведет к файлу, остающемуся заблокированным для других процессов (если только для создания StreamReaderне использовался FileStreamсо спецификацией FileShare.ShareReadWrite).

sr.Close();

Теперь мы перешли к проблеме создания экземпляра StreamReader. Так же, как с классом FileStream, мы просто указываем различные способы чтения данных и оставляем другие, менее часто используемые, методы StreamReaderдля документации MSDN.

Возможно, простейшим в использовании является метод ReadLine(), который продолжает чтение, пока не доходит до конца строки. Он не включает комбинацию возврат каретки-перевода строки, которая отмечает конец строки в возвращаемой строке:

string NextLine = sr.ReadLine();

Альтернатива — захватить весь остаток файла (или строго говоря, остаток потока) в одной строке:

string RestOfStream = sr.ReadToEnd();

Можно также прочитать один символ:

int NextChar = sr.Read();

Эта конструкция с Read()преобразует возвращаемый символ в int. Это делается так, потому что имеется возможность альтернативного возврата -1, если будет достигнут конец потока.

Наконец, можно прочитать заданное число символов в массив с использованием смещения:

// прочитать 100 символов

int nChars = 100;

chr [] CharArray = new char[nChars];

int nCharsRead = sr.Read(CharArray, 0, nChars);

nCharsReadбудет меньше nChars, если запрос чтения потребует больше символов, чем осталось в файле.

Класс StreamWriter

Он работает практически таким же образом, как и StreamReader, за исключением того только, что StreamWriterиспользуется для записи в файл (или в другой поток). Возможности создания StreamWriterвключают в себя:

StreamWriter sw = new StreamWriter(@"C:\My Documents\ReadMe.txt");

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

StreamWriter sw = new StreamWriter(@"C:\My Docurnents\ReadMe.txt", true, Encoding.ASCII);

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

Конечно, можно соединить StreamWriterс файловым потоком, чтобы предоставить больший контроль над параметрами открытия файла:

FileStream fs = new FileStream(@"C:\Му Documents\ReadMe.txt",

FileMode.CreateNew, FileAcces.Write, FileShare.ShareRead);

StreamWriter sw = new StreamWriter(fs);

FileInfoне реализует никаких методов, которые возвращают StreamWriter. Альтернативно, если вы захотите создать новый файл и начать записывать в него данные, то может оказаться полезной такая последовательность действий:

FileInfo MyFile = new FileInfo(@"C:\My Documents\NewFile.txt");

StreamWriter sw = MyFile.CreateText();

Так же, как и со всеми другими потоковыми классами, важно закрыть StreamWriter, когда работа закончена:

sw.Close();

Запись в поток делается с помощью любого из четырех перегружаемых методов StreamWriter.Write(). Простейший из них записывает строку и дополняет ее комбинацией возврат каретки — перевод строки:

string NextLine = "Groovy Line";

sw.Write(NextLine);

Можно также записать один символ:

char NextChar = 'а';

sw.Write(NextChar);

Массив символов также возможен:

char [] Char Array = new char[100];

// инициализация этого массива символов

sw.Write(CharArray);

Можно даже записать часть массива символов:

int nCharsToWrite = 50;

int StartAtLocation = 25;

char [] CharArray = new char[100];

// инициализируем эти символы

sw.Write(CharArray, StartAtLocation, nCharsToWrite);

Пример: ReadWriteText

Пример ReadWriteTextвыводит результат использования классов StreamReaderи StreamWriter. Он похож на предыдущий пример ReadBinaryFile, но предполагает, что считываемый файл является текстовым файлом, и выводит его в этом виде. Он может сохранить файл (со всеми изменениями, которые будут сделаны в тексте в текстовом поле). Он будет сохранять любой файл в формате Unicode.

Снимок показывает использование ReadWriteTextдля вывода того же файла CivNegotiations, который использовался раньше. В этот раз, однако, мы сможем прочитать содержимое гораздо легче.

Не будем вдаваться в детали добавления методов обработки событий для диалога - фото 22

Не будем вдаваться в детали добавления методов обработки событий для диалога открытия файла, поскольку они по сути такие же, что и в примере BinaryFileReader. Как и для данного примера, открытие нового файла приводит к вызову метода DisplayFile(). Единственное реальное различие между этим примером и предыдущим состоит в реализации DisplayFile, а также в том факте, что теперь имеется возможность сохранить файл. Она представлена другим пунктом меню — save. Обработчик для этого пункта вызывает другой добавленный в код метод — SaveFile(). (Отметим, что этот файл всегда перезаписывает первоначальный файл, этот пример не имеет возможности записи в другой файл.)

Посмотрим сначала на SaveFile, так как это простейшая функция. Мы просто записываем каждую строку текстового поля по очереди в поток StreamWriter, полагаясь на метод StreamReader.WriteLine()для добавления комбинации возврата каретки-перевода строки в конце каждой строки:

void SaveFile() {

StreamWriter sw = new StreamWriter(ChosenFile, false, Encoding.Unicode);

foreach (string Line in textBoxContents.Lines) sw.WriteLine(Line);

sw.Close();

}

ChosenFileявляется строковым полем основной формы, которое содержит имя прочитанного файла (как и в предыдущем примере). Отметим, что при открытии потока определяется кодирование Unicode. Если желательно записывать файлы в другом формате, необходимо изменить значение этого параметра. Второй параметр в этом конструкторе будет задан как true, если мы хотим добавлять к файлу, но в данном случае мы этого не делаем. Кодирование должно задаваться во время создания объекта записи потока. В дальнейшем оно доступно только для чтения как свойство Encoding.

Теперь проверим, как считываются файлы. Процесс чтения осложняется тем, что мы не знаем, пока не прочитаем файл, сколько строк он будет содержать (другими словами, сколько последовательностей (char)13 - (char)10находится в файле). Решим эту проблему, считывая сначала файл в экземпляр класса StringCollection, который находится в пространстве имен System.Collections.Specialized. Этот класс создан для хранения множества строк, которые могут динамически увеличиваться. Он реализует два интересующих нас метода: Add(), добавляющий строку в коллекцию, и CopyTo(), который копирует коллекцию строк в обычный массив (экземпляр System.Array). Каждый элемент объекта StringCollectionбудет содержать одну строку файла.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Симон Робинсон читать все книги автора по порядку

Симон Робинсон - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C# для профессионалов. Том II отзывы


Отзывы читателей о книге C# для профессионалов. Том II, автор: Симон Робинсон. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x