Учебно-методический комплекс общее количество часов 58 ч. Лекции 28 ч


Download 2.46 Mb.
bet68/91
Sana19.10.2023
Hajmi2.46 Mb.
#1709453
TuriУчебно-методический комплекс
1   ...   64   65   66   67   68   69   70   71   ...   91
Bog'liq
Язык программирования C#

Close()

Закрывает поток

Seek()

Изменяет текущую позицию в потоке

Для записи данных в файл нужно создать экземпляр класса BinaryWriter.
Самый употребительный конструктор, которого имеет следующий вид BinaryWriter(Stream). В этот конструктор передается экземпляр открытого для записи потока.
В классе определен только один метод Write() для вывода данных. Этот метод имеет множество перегрузок, обеспечивающих вывод всех стандартных типов.

Для чтения же данных из двоичного файла создается объект класса BinaryReader.


Основной конструктор этого класса имеет следующий вид BinaryReader (Stream). В этот конструктор передается экземпляр открытого для записи потока.
В классе определено множество методов для чтения данных из потока. Самый простой из них метод int Read(), возвращающая следующий символ из потока. Остальные методы имеют следующий формат XXX ReadXXX(), где XXX – тип значения считываемого методом из потока. Например, int ReadInt(), bool ReadBool(), String ReadString().

Продемонстрируем пример использования двоичных файловых потоков. В следующей программе создается файл, в него сначала записываются, а потом считываются 1000 строк и целых чисел. При этом записываемые в файл элементы имеют свою истинную двоичную природу


using System;


using System.IO;

class Program


{
static string FileName = "1000.dat";
static string Message = "Строка №";
static int RecordsAmount = 1000;

private static void WriteToFile()


{
FileStream OutputStream = newFileStream(FileName,FileMode.Create,FileAccess.Write);
BinaryWriter OutputData = new BinaryWriter(OutputStream);
for (int i = 1; i <= RecordsAmount; i++)
{
OutputData.Write(Message);
OutputData.Write(i);
}
OutputData.Close();
}

private static void ReadFromFile()


{
FileStream InputStream = new FileStream(FileName, FileMode.Open, FileAccess.Read);
BinaryReader InputData = new BinaryReader(InputStream);
for (int i = 1; i <= RecordsAmount; i++)
Console.WriteLine(InputData.ReadString() + InputData.ReadUInt32());
InputData.Close();
}

static void Main(string[] args)


{
WriteToFile();
ReadFromFile();
}
}
Лист. 5.14

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


Вывод программы.

Строка №1


………..
Строка №1000
Вывод. 5.3



Download 2.46 Mb.

Do'stlaringiz bilan baham:
1   ...   64   65   66   67   68   69   70   71   ...   91




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling