Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Примеры. Установочные и завершающие операции

Специальные операции

Операции ввода-вывода

Установочные и завершающие операции

Используя классы BinaryWriter и BinaryReader можно создать свои файловые объекты для выполнения различных файловых операций

//создание нового файла или перезапись существующегоBinaryWriter outBin = new BinaryWriter (File.Open("c:\\temp\\a1.dat", FileMode.Create));//outBin - созданный нами объект //открытие существующего файла на чтениеBinaryReader inBin = new BinaryReader (File.Open("c:\\temp\\a1.dat", FileMode.Open));//inBin - созданный нами объект

Атрибут FileMode может быть выбран из следующего списка

FileMode.Append // открыть файл для дозаписиFileMode.Create // создание нового файла или перезапись существующегоFileMode.Open //открытие существующего файла на чтение

Для завершения работы с файлом используют метод Close.

outBin.Close();

Для записи в открытый файл используют метод Write.

outBin.Write(22.4);outBin.Write("Хелло ворлд!");outBin.Write(15);

Для чтения данных из открытого файла используют метод Read

Double m = inBin.ReadDouble();string q = inBin.ReadString();int j = inBin.ReadInt32();

Для проверки, достигнут ли конец файла при чтении используют метод PeekChar

while ((inBin.PeekChar())>=0) { e = inBin.ReadInt32(); Console.WriteLine(e); }

Удаление файла выполняется методом Delete объекта File:

string fileName = "c:\\temp\\a1.txt";File.Delete(fileName);

Проверка существования файла выполняется методом Exist объекта File:

if (File.Exist("c:\\temp\\a1.txt")) {//программный код, который//выполнится если файл существует}

Переименование/перенос файла выполняется методом Move объекта File:

string path = @"c:\temp\MyTest.txt";string path2 = @"c:\temp\MyTest.bak";File.Move(path, path2);Console.WriteLine ("Файл {0} был переименован в {1}.", path, path2);

Пример 1: Создать файл, содержащий целые числа. Из компонентов исходного файла сформировать файл, записав в него числа, расположенные в исходном файле до максимального элемента. Массивы использовать нельзя.

static void CreateFile(string filename) { BinaryWriter outBin = new BinaryWriter (File.Open(filename, FileMode.Create)); Console.Write("Введите количество элементов для записи в файл "); string s = Console.ReadLine(); int n = Convert.ToInt32(s); for (int i = 1; i <= n; i++) { Console.Write("Введите {0}-й элемент файла ",i); s = Console.ReadLine(); int m = Convert.ToInt32(s); outBin.Write(m); } outBin.Close(); } static int FindMax(string filename) { BinaryReader inBin = new BinaryReader (File.Open(filename, FileMode.Open)); int e, i,max,maxnum; e=i = maxnum = max = 0; while ((inBin.PeekChar())>=0) { e = inBin.ReadInt32(); if (i > 0) if (e > max) { max = e; maxnum = i; } else; else max = e; i++; } inBin.Close(); return maxnum; }static void DoNewFile(string filename1,string filename2,int maxnum) { BinaryReader inBin = new BinaryReader (File.Open(filename1, FileMode.Open)); BinaryWriter outBin = new BinaryWriter (File.Open(filename2, FileMode.Create)); for (int i = 0; i < maxnum; i++) { int e = inBin.ReadInt32(); outBin.Write(e); } inBin.Close(); outBin.Close(); }static void PrintFile(string filename) { BinaryReader inBin = new BinaryReader (File.Open(filename, FileMode.Open)); while ((inBin.PeekChar()) >= 0) { int e = inBin.ReadInt32(); Console.WriteLine(e); } inBin.Close(); }static void Main(string[] args) { CreateFile("c:\\s1.dat"); int mn=FindMax("c:\\s1.dat"); DoNewFile("c:\\s1.dat", "c:\\s2.dat", mn); PrintFile("c:\\s2.dat"); Console.ReadKey(); }
<== предыдущая лекция | следующая лекция ==>
Общие сведения. Введение файлового типа вызвано необходимостью обеспечить возможность работы с периферийными устройствами предназначенными для ввода | Операции ввода-вывода
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 284; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.