Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 213

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 207 208 209 210 211 212 < 213 > 214 215 216 217 218 219 .. 320 >> Следующая

Как мы видим, большинство методов FiI einfo возвращает объекты (FileStream, StreamWriter, StreamReader и т. л.), которые позволяют различным образом взаимодействовать с файлом, например производить чтение или запись в него. Мы еще познакомимся с этими о(л,с-ктпмп, однако сейчас нам важно отметить, что при помощи класса FiI einfo мы можем просто и очень удобно создать новый файл в файловой системе:
public class Piler-iariipulator
public static int r1airi(strmc;[] arcs)
К этому моменту мы уже умеем работать с каталогами — создавать их, удалять, получать информацию о самих каталогах и содержащихся в них файлах. Следующая наша задача - разобраться с тем, как производится работа с файлами в .NET.
Код приложения MyDirectoryApp можно найти в подкаталоге Chapter 11.
Класс 529
{
Il Создаен новый файл в корневой каталоге диска С: Filelnfo f - new FileIafo(^"C-.\Test.txt"): FileStream fs = f.CreateO:
Il Выводим основную информацию о созданной нами файле
Console.WriteLineC"Creation: {0}". f.CreationTime):
Console.WriteLineCFull Name: {Q}". f. Full Name);
Console. WrI teLineC Full atts: {0}". f. Attributes. ToStrlngO):
Console.Write<"Press a key to delete file");
Console. ReadO:
II Закрываем FileStream и удаляем файл
fs.Closet); f. Del eteO:
return 0;
1
}
Обратите внимание, что метод Createf) возвращает объект Fi IeStream, которы г позволяет взаимодействовать с файлом. После запуска нашего приложения мы сможем увидеть созданный файл (до его удаления) в корневом каталоге диска С: (рис. 11.7).
пІЯИ
I File Edit " View Favorites Teds 'HsIp El
J ^ Sack - -> - 'jtj . ^Folder* ^History i^JSXtfl "
j
-- - II H —
• SETUPLOG..,. SETUPLOG.,., SETUPXLG.TXT
WiN98 (C:) I —^
Test.tHt ,as] Щ і
Text Document SUHDLOG.DAT SYSTEM. 1ST _l
failed; i.l!;?-2uua 12;? AM . zi
[Type: Text Document Szei 0 bytesj iO bytes jU|. My Computer A
Рис. 11.7. Создаем файл на диске программным образом
Использование метода FileInfo.Open()
Метод l:i leJnfo.GperK) может быть использован как для открытия уже существующего файла, так и для создания нового с большим количеством возможностей, чем метод Filelnfo.CreateO. Вот пример использования этого метода:
// Открываем {или создаем) файл для -гения и но без возможности соачестно'С
// использования и сохраняем указатель на этот файл в объекте FileStream Filelnfo Г2 = new Fi1eInfD(@"C:\HelloThere.inr):
FileStream s = f2.Open(Fi1eMode.0pen0rCreate. FileAccess.ReadWrite. FITeShare.None);
s.Closet);
f2.Delete();
530 Глава 11 * Ввод, вывод и сериализация объектов
Эта версия перегруженного метода Орег С) принимает три параметра. Первый из них определяет вид запроса на открытие файла (создание нового файла, открытие существующего файла, добавление к существующему файлу и т. п.), Для него используются значения из перечисления м k-Mixie (табл. і і ¦fi).
Таблица 11.6. Значения перечисления FileMode
Значение
Описание
Append
Create
CreateNew
Open
Открывает файл, если он существует, и ищет конец этого файла. Если указанный файл не существует, создается новый файл. Обратите внимание, что режим FileMode.Access может быть использован только совместно с доступом типа FileAccess.Write
Указывает, что операционная система должна создать новый файл. Будьте осторожны — если в каталоге уже существует файл с таким же именем, он будет перезаписан!
Также определяет создание нового файла, но если файл с тем же именем уже существует в каталоге, будет сгенерировано исключение IOException
Определяет, что операционная система должна открыть существующий файл
Определяет, что операционная система должна открыть файл, если он существует. Если же нет, то файл с таким названием должен быть создан
Truncate Определяет, что операционная система должна открыть существующий файл.
После открытия он должен быть обрезан до нулевой длины
Второй параметр определяет тип доступа к файлу как к потоку байтов. Длянего используются параметры из перечисления Fi leAccess (табл. 11.7).
Таблица 11.7. Значения перечисления Fi leAccess
Значение Описание
Read Файл будет открыт только для чтения
ReadWrite Файл будет открыт и для чтения, и для записи
Write Файл будет открыт только для записи (то есть данные будут добавляться в файл,
но не считываться из него)
Третий параметр определяет возможности совместного доступа к открытому файлу. Набор значений для него - в перечислении FileShare (табл. 118).
Таблица 118 Значения перечисления FileShare Значение Описание
None
Read
ReadWrite
Write
Совместное использование открытого файла запрещено. На любой запрос на открытие данного файла будет возвращено сообщение об ошибке
Позволяет открывать файл одновременно и другим пользователям, но только на чтение. Если этот флаг не установлен, на любые запросы на открытие данного
файла на чтение будет возвращаться сообщение об ошибке
Позволяет открывать файл одновременно и другим на чтение
и запись
открывать файл одновременно и другим пользователям на запись
Абстрактный класс Stream 531
Предыдущая << 1 .. 207 208 209 210 211 212 < 213 > 214 215 216 217 218 219 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100