Создание Windows-приложений на основе Visual C#




Чтение и запись двоичных файлов - часть 2


}

Листинг 2.17.

Запускаем приложение. Если все сработает без ошибок — на экране появится станадртное сообщение Press any key to continue, в противном случае — поскольку мы включили блок исключений — выйдет диагностическое сообщение. Перейдем в папку bin/Debug. В ней появился файл newmusic.mp3, прослушать который мы можем с помощью любого музыкального проигрывателя.

Рассмотрим перечисления в конструкторах FileStream. Параметр FileMode определяет, каким образом открывается файл (рис. 2.36):

Перечисления FileMode

Рис. 2.36.  Перечисления FileMode

Значения перечисления FileMode указаны в таблице 2.4.

Таблица 2.4. Значение перечисления FileMode

ЗначениеОписание
AppendЕсли файл существует, он открывается, если нет — создается новый. Данные добавляются в конец файла
CreateСоздается новый выходной файл; если файл с таким названием существует, он перезаписывается
CreateNewСоздается новый выходной файл; если файл с таким названием уже существует, генерируется исключение IOException
OpenОткрывается существующий файл; если файла с таким названием не существует, генерируется исключение FileNotFoundException
OpenOrCreateОткрывается существующий файл; если файл не существует, он создается
TruncateОткрывается существующий файл, но его длина усекается до нуля

Параметр FileAccess определяет для пользователя разрешение на доступ к файлу (рис. 2.37):

Перечисления FileAccess

увеличить изображение
Рис. 2.37.  Перечисления FileAccess

Значения перечисления FileAccess указаны в таблице 2.5.

Таблица 2.5. Значение перечисления FileAccess

ЗначениеОписание
ReadДоступ на чтение из файла
ReadWriteРазрешается чтение из файла и запись данных в файл
WriteДоступ для записи в файл

Дополнительно для управления режимом доступа при одновременной работе с файлами нескольких потоков используется перечисление FileShare (рис. 2.38). Например, при создании потока для чтения файла мы могли полностью определить все параметры следующим образом:

FileStream Chtenie = new FileStream("music.mp3", FileMode.Open, FileAccess.Read, FileShare.Read);




Содержание  Назад  Вперед