Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 сем Инфа готово.docx
Скачиваний:
24
Добавлен:
04.06.2015
Размер:
255.66 Кб
Скачать

Вопрос 25. Работа с файлами.

Класс File из пространства имен System.IO предоставляет нам ряд статических методов, для повседневной работы с файлами

Вот основные методы

Copy - Копирование файлов

Delete - удаляет файл

Exists - определяет существует или нет файл по данному пути

Move - перемещает файл в новое меторасположение

GetCreationTime - Получает время создания файла

StreamWriter позволяет производить Запись данных в поток,

в большинстве случаев этим потоком является файл.

Находится StreamWriter, как и другие классы для работы с файлами, в пространстве System.IO

Основные методы класса это модификации записи потока

Write и WriteLine

Отличается в том, что WriteLine в конец добавляется символ перевода строки.

В конструкторе можно указать, тот момент будет ли производится запись в конец файла или файл будет переписан.

И еще одним важным методом является метод Close(), которым должен обяхательно заканчиваться процесс записи в файл, иначе

другие приложения не смогут с ним работать из-за его занятости

StreamReader позволяет производить чтение каких либо потоков данных,

в большинстве случаев этим потоком является файл.

Находится StreamReader, как и другие классы для работы с файлами, в пространстве System.IO

Основные методы класса это модификации чтения потока

Read, ReadLine и ReadToEnd отличаются соответственно блоками чтения потока

StreamWriter streamWriter = new StreamWriter(saveFileDialog1.FileName);

streamWriter.Write(richTextBox1.Text);

streamWriter.Close();

StreamReader streamReader = new StreamReader(openFileDialog1.FileName);

string str;

str = streamReader.ReadLine();

streamReader.Close();

Используйте класс FileStream для операций чтения и записи в файл, открытия и закрытия файлов в файловой системе, а также для изменения других дескрипторов операционной системы для обработки файлов, включая каналы, стандартный ввод и вывод.Для операций чтения и записи можно задать либо синхронный, либо асинхронный режим.FileStream буферизует ввод и вывод для лучшей производительности.

Объекты FileStream поддерживают произвольный доступ к файлам с помощью метода Seek.Seek позволяет перемещать положение позиции чтения записи в файле.Это осуществляется путем смещения параметров точки ссылки.Смещение в байтах относительно точки ссылки поиска, которая может располагаться в начале, в текущем положении или в конце файла, определяется тремя свойствами класса SeekOrigin.

FileStream f1 = new FileStream(@"C:\1.txt",FileMode.Open);

В следующем примере показано использование некоторых конструкторов FileStream.

class Test

{

public static void Main()

{

string path = @"c:\temp\MyTest.txt";

// Delete the file if it exists.

if (File.Exists(path))

{

File.Delete(path);

}

//Create the file.

using (FileStream fs = File.Create(path))

{

AddText(fs, "This is some text");

AddText(fs, "This is some more text,");

AddText(fs, "\r\nand this is on a new line");

AddText(fs, "\r\n\r\nThe following is a subset of characters:\r\n");

for (int i=1;i < 120;i++)

{

AddText(fs, Convert.ToChar(i).ToString());

}

}

//Open the stream and read it back.

using (FileStream fs = File.OpenRead(path))

{

byte[] b = new byte[1024];

UTF8Encoding temp = new UTF8Encoding(true);

while (fs.Read(b,0,b.Length) > 0)

{

Console.WriteLine(temp.GetString(b));

}

}

}

private static void AddText(FileStream fs, string value)

{

byte[] info = new UTF8Encoding(true).GetBytes(value);

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

}

}

В приведенном ниже примере открывается файл (если файл не существует, то он создается) и данные добавляются в конец файла.

class FSOpenWrite

{

public static void Main()

{

FileStream fs=new FileStream("c:\\Variables.txt", FileMode.Append, FileAccess.Write, FileShare.Write);

fs.Close();

StreamWriter sw=new StreamWriter("c:\\Variables.txt", true, Encoding.ASCII);

string NextLine="This is the appended line.";

sw.Write(NextLine);

sw.Close();

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]