Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лекции все вместе / Prostranstvo_imen_SystemIO

.doc
Скачиваний:
5
Добавлен:
20.04.2015
Размер:
41.98 Кб
Скачать

Пространство имен System.IO

Задание: создать проект Visual C# Windows Application и выполнить примеры

Классы File, FileInfo, Directory, DirectoryInfo, Path содержат методы для работы с файлами и каталогами (папками). Классы File и Directory содержат статические методы. Классы FileInfo и DirectoryInfo –экземплярные . Пример: Использование класса File для записи текста в файл.

private void button1_Click(object sender, EventArgs e)

{

string path = Directory.GetCurrentDirectory() + @"\test0.txt";

textBox1.Text = path;

File.WriteAllText(path,"jjj kkk ttt");

}

Задание добавить данные в файл, прочитать данные из файла, используя класс File. Получить информацию о дате создания файла (ответ в формате: 13 марта 2010 г.)

Классы StreamReader и StreamWriter предназначены для чтения и записи в текстовые файлы.

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

private void button1_Click(object sender, EventArgs e)

{

string path = Directory.GetCurrentDirectory() + @"\test0.txt";

textBox1.Text = path;

StreamReader r = new StreamReader(path);

string s = r.ReadLine();

r.Close();

textBox2.Text = s;

}

необходимо закрывать StreamReader после использования. или

private void button1_Click(object sender, EventArgs e)

{

string path = Directory.GetCurrentDirectory() + @"\test0.txt";

textBox1.Text = path;

using (StreamReader sr = File.OpenText(path))

{

string s = sr.ReadLine();

textBox2.Text = s;

}

}

Оператор using инициализирует объект (объекты) и сохраняет ссылку на него в переменной. В данном примере переменная – sr. К этой переменной можно обращаться внутри фигурных скобок. При компиляции автоматически генерируются блоки try и finally для освобождения ресурсов. Поэтому можно не закрывать StreamReader после использования. или

private void button1_Click(object sender, EventArgs e)

{

string path = Directory.GetCurrentDirectory() + @"\test0.txt";

textBox1.Text = path;

FileStream fs = new FileStream(path, FileMode.Open);

StreamReader sr = new StreamReader(fs);

textBox2.Text = sr.ReadLine();

sr.Close();

}

Задание: Прочитать 3 символа из файла test0.txt и вывести в текстовое окно. Записать массив из 10 чисел в файл, используя класс StreamWriter.

Класс FileStream предназначен для операций чтения и записи в файлы, открытия и закрытия файлов в файловой системе, а также для других операций обработки файлов. Класс FileStream применяется для побайтового чтения из файлов (записи в файлы) с произвольным доступом. Пример:

private void button1_Click(object sender, EventArgs e)

{

string path = Directory.GetCurrentDirectory() + @"\test0.dat";

FileStream fs = new FileStream(path, FileMode.Create);

byte[] mybyte = new byte[] { 1, 2, 3, 4, 5 };

fs.Write(mybyte, 0, mybyte.Length);

fs.Close();

FileStream fs1 = new FileStream("test0.dat", FileMode.Open, FileAccess.ReadWrite);

byte[] ByteArray = new byte[fs1.Length];

fs1.Read(ByteArray, 0, (int)fs1.Length);

fs1.Close();

for (int i = 0; i < ByteArray.Length; i++)

this.richTextBox1.AppendText(ByteArray[i].ToString()+" ");

}

Классы BinaryReader и BinaryWriter записывают и читают простые типы данных в поток как двоичные значения (как последовательность байт). Поддерживают дополнительное форматирование данных.

private void button1_Click(object sender, EventArgs e)

{

string path = Directory.GetCurrentDirectory() + @"\test1.dat";

BinaryWriter bw = new BinaryWriter(File.Open(path,FileMode.Create));

double[] dA = new double[10] {1.2,2,3,4,5,6,7,8,9,3};

for(int i = 0; i < 10; i++)

{

bw.Write(dA[i]);

}

bw.Close();

FileStream fil = new FileStream(path, FileMode.Open, FileAccess.Read);

BinaryReader br = new BinaryReader(fil);

double[] testArray = new double[(int)fil.Length];

for (int i=0;i<10;i++)

{

testArray[i] = br.ReadDouble();

this.richTextBox1.AppendText(testArray[i].ToString()+" \n ");

}

br.Close();

fil.Close();

}

Задание:

Задание добавить на форму меню. При выборе команд File, Open должно появиться стандартное диалоговое окно открыть файл. Выбрать файл, в котором сохранено изображение в формате bmp.

Прочитать файл формата bmp в массив типа byte. Вывести в richTextBox1.

Получить информацию о файле формата bmp. Использовать классы Bitmap, Image пространства имен

System.Drawing.

Соседние файлы в папке лекции все вместе