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

С# - Ватсон К.

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


Практикум: файлы с использованием запятой в качестве разделителя

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

2. Добавьте соответствующую строку в начало файла classl.cs:

using System; using System.10;

3. Добавьте следующий код в метод nain<):

static void Main (string[] args)

<

string etrLine;

string!] etrArray;

chart ] char Array = new Char[] (','(]

t

try

{

FileStream aFile ¦ new FileStreain{*bog. txt*, FileMode.Open); StreamReader sr - new StreamReader(aFile)j

strLini » er. ReacJLine () : while(strLine != null)

(

// Преобразование строк данных s массив строк strArray = etrLine.Split(charArxay); ¦

// Проход i цикле по массиву строк и вывод их на печать for(int x-0;x<~strArray.GetOpperBound(0)jx++)

С

Console. HriteLine( etrArray [at] .TrimO) ;

]

strLine =¦ sr.ReadLineO ;

)

sr .Closed ;

Console,ReadLine();

>

catch(lOException e)

(

Console.WriteLinel*An 10 exception has been thrown!*);

Console.Writ.fcLine(e.ToString()) ;

Console.ReadLine(>j returnj

)

return;

)
Работа с файлами

573

6. Запустите приложение — вы увидите

5. Сохраните файл под именем iog.txt В директории CoramaValues\bin\Debug или директории, где будет запускаться выполняемый файл вашего приложения.

4. Откройте Notepad н введите в него следующий текст:

Amanda, Kay, Sandy, Dan, Rob Natalie, Kate, David, Zoe, Andrew

(см. рис. справа).

выведенный на консоль текст файла

Как это работает — Файлы с использованием запятой в качестве разделителя

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

strArray = strLine.Split(charArray);

Данный метод принимает строковый массив, созданный ранее. Обратите внимание, что в настоящем примере в массиве содержится единственный символ — запятая. Мы могли бы записать в массив несколько символов; в таком случае каждый раз, когда в файле будет встречен любой из указанных символов, он будет рассматриваться в качестве допустимого ограничителя поля. Например, в следующем коде создается символьный массив, в который помещается сразу несколько символов. Теперь, в случае еслн метод split будет вызван для строки -Please spiit?thi31 string up*, то в строковом массиве будут возвращены все слова по отдельности, поскольку все символы, расположенные между словами, будут рассматриваться методом split в качестве разделителен (пробел, вопросительный знак и вертикальная черта):

char[] charArray = new Char[]

strArray = 'Please split?thisI String up'.Split(charArray);

После получения строкового массива он просматривается в цикле, а его содержимое выводится на консоль. Это достигается за счет использования обычного цикла for. Обратите внимание на то, что мы вызываем метод Trim О класса string. Этот метод удаляет все пустое пространство (пробелы и символы табуляции) в начале и в конце строк. Мы делаем это, поскольку нас не интересуют пробелы в начале и конце данных — нас интересуют только сами имена. Такой подход не всегда подойдет для ваших приложений, поскольку пустое пространство может оказаться значимым:

for(int x=0;x<=etrftrray.GetUpperBound(O);х++)

<

Console,WriteLine(strArray[x].Trim());

)

Как легко заметить, извлечение данных из файлов, в которых в качестве разделителя переменных используется запятая (comma-separated variable — CSV),
574 Глава 20

в .NET Framework не представляет никакого труда. Хотя в данном случае приведенный пример оказывается очень простым, вы столкнетесь с тем, что эти принципы используются в бизиес-приложениях уровня целого предприятия. Несмотря на то, что XML является намного превосходящим по всем параметрам методом хранения и передачи данных, использование CSV-файлов по-прежнему очень распространено и будет распространено еще в течение некоторого времени. Преимуществом файлов, в которых используются ограничители, заключается еще и в том, что они являются очень компактными и, следовательно, занимают меньше места, чем их XML-аналоги.

Файлы с ограничителями используются многими системами, и если вашему приложению придется взаимодействовать с такой системой, то вы обнаружите, что формат данных с использованием ограничителей применяется достаточно часто, Обратите внимание на то, что, хотя мы и уделяли основное внимание файлам, в которых в качестве разделителя используется запятая, в этом качестве вполне может использоваться и символ табуляции — такой формат также является весьма распространенным. Следует также помнить, что CSV-файлы могут экспортироваться и импортироваться такими системами, как Excel, Access н многими реляционными базами данных.

Дополнительные темы

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

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

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

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

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