Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_13_14 / ЛАБ_13_C# / Лекция.doc
Скачиваний:
10
Добавлен:
02.02.2015
Размер:
454.66 Кб
Скачать

2.2.2 Считывание байт из объекта класса FileStream..

№ 5

// Отображение содержимого текстового файла CodeFile1.cs

//

using System;

using System.IO;

class ShowFile

{ public static void Main(string[] args)

{ int i;

FileStream fin;

try

{

Console.WriteLine("\n URA_1");

fin = new FileStream(args[0], FileMode.Open);

}

catch (FileNotFoundException exc)

{

Console.WriteLine("\n URA_2");

Console.WriteLine("\n " + exc.Message);

return;

}

catch (IndexOutOfRangeException exc)

{

Console.WriteLine("\n URA_3");

Console.WriteLine("\n " + exc.Message +

"\n Применение: ShowFile d:/dci/f115s/f115/CodeFile1.cs \n\n\n ");

return;

}

// Считываем байты до тех пор, пока не встретится EOF.

do

{

try

{

i = fin.ReadByte();

}

catch (Exception exc)

{

Console.WriteLine(exc.Message);

return;

}

if (i != -1) Console.Write((char)i + "U_4");

} while (i != -1);

fin.Close();

}

}

Рис 5 Результаты считывания байт с файла

2.2.3 Запись данных в файл

№ 6

// Запись данных в файл d:\test1.txt

using System;

using System.IO;

class WriteToFile

{

public static void Main(string[] args)

{

FileStream fout;

// Открываем выходной файл 11

try

{ // Console.WriteLine("\n\n\n URA1 ");

fout = new FileStream("d:/ddd.doc", FileMode.Create); // 14

// Console.WriteLine("\n\n\n URA2");

}

catch (IOException exc)

{ // Console.WriteLine("\n\n\n URA3");

Console.WriteLine(exc.Message + "\n Ошибка при открытии выходного файла.");

return;

}

// Записываем в файл алфавит. 21

try

{ // Console.WriteLine("\n\n\n URA4");

for (char с = 'А'; с <= 'Я'; с++)

fout.WriteByte((byte)с);

}

catch (IOException exc)

{ // Console.WriteLine("\n\n\n URA5");

Console.WriteLine(exc.Message + " Ошибка при записи в файл.");

}

//Console.WriteLine("\n\n\n URA6");

fout.Close();

// Console.WriteLine("\n\n\n URA7");

}

}

ABCDEFGHIJKLMNOPQRSTUVWXYZ

Рис 6 Результаты записи данных в файл

??? 2.2.4 Выполнение копирования файла (применение класса FileStream – f116)

№ 7

/* Копирование файла. При этом следует указать имена исходного,

который копируется, и приемного файлов (куда копируется)

Имена файлов указываются в командной строке в виде

CopyFile d:/dom1.doc d:/dom2.doc (dom2 + dom1)

*/

using System;

using System.IO;

class CopyFile

{ public static void Main(string[] args)

{ int i;

FileStream fin;

FileStream fout;

try { // Открываем входной файл

fin = new FileStream(args[0], FileMode.Open); // 17

}

catch (FileNotFoundException exc) {

Console.WriteLine("\n " + exc.Message + "\n Входной файл не найден.");

return;

}

// Открываем выходной файл

try { fout = new FileStream(args[1], FileMode.Create);

} catch (IOException exc) {

Console.WriteLine("\n " + exc.Message +

"\n Ошибка при открытии выходного файла.");

return;

}

catch (IndexOutOfRangeException exc) {

Console.WriteLine(" " + exc.Message +

"\n Применение: CopyFile d:/dom1.doc d:/dom2.doc");

return;

}

// Копируем файл

try { do { i = fin.ReadByte();

if (i != -1) fout.WriteByte((byte)i);

} while (i != -1);

}

catch (IOException exc) {

Console.WriteLine("\n " + exc.Message +

"\n Ошибка при чтении файла. ");

}

fin.Close();

fout.Close();

}

}

Соседние файлы в папке ЛАБ_13_C#