Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpIoAm 294 of 509 menu
◀ ▶

Режим доступа к файлу в C#

Перечисление FileMode задаёт, что делать с файлом на диске: создать новый, открыть существующий, обрезать до нуля байт или создать при отсутствии. FileAccess ограничивает операции потока - только чтение, только запись или оба направления.

Если файла нет, режим FileMode.Open бросает исключение уже в конструкторе. Конструктор создаёт поток с FileAccess.Read, а WriteByte на нём позже бросает NotSupportedException. Режимы лучше задавать явно, а не полагаться на значения по умолчанию.

Откроем журнал только для чтения. Читать через этот поток можно, а писать нельзя:

using System.IO; File.WriteAllText("logs.tmp", "entry"); using FileStream ledger = new("logs.tmp", FileMode.Open, FileAccess.Read); Console.WriteLine(ledger.CanRead ? 1 : 0); // выведет 1 Console.WriteLine(ledger.CanWrite ? 1 : 0); // выведет 0

Создайте файл "meter.tmp" с текстом "start", откройте его только для чтения и выведите 1, если читать можно, а писать нельзя.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить