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

FileShare

FileShare передают в конструктор FileStream вместе с FileMode и FileAccess. None - эксклюзивно для этого процесса. Read разрешает другим открыть на чтение. Delete позволяет удалить файл, пока поток открыт (.NET).

Синтаксис

using FileStream stream = new FileStream( path, FileMode.Open, FileAccess.Read, FileShare.Read);

Пример

Давайте откроем abcde.txt с FileShare.None:

using System; using System.IO; class Program { static void Main() { File.WriteAllText("abcde.txt", "abcde"); using (FileStream stream = new FileStream( "abcde.txt", FileMode.Open, FileAccess.Read, FileShare.None)) { Console.WriteLine(stream.CanRead); } File.Delete("abcde.txt"); } }

Результат выполнения кода:

True

Пример

Давайте указать FileShare.Read и прочитать длину:

using System; using System.IO; class Program { static void Main() { File.WriteAllText("abcde.txt", "12345"); using (FileStream stream = new FileStream( "abcde.txt", FileMode.Open, FileAccess.Read, FileShare.Read)) { Console.WriteLine(stream.Length); } File.Delete("abcde.txt"); } }

Результат выполнения кода:

5

Пример

Давайте открыть с FileShare.Delete:

using System; using System.IO; class Program { static void Main() { File.WriteAllText("abcde.txt", "abcde"); using (FileStream stream = new FileStream( "abcde.txt", FileMode.Open, FileAccess.Read, FileShare.Delete)) { Console.WriteLine(stream.Length); } File.Delete("abcde.txt"); } }

Результат выполнения кода:

5

Смотрите также

  • FileAccess,
    чтение и запись потока
  • Open,
    режим для существующего файла
  • File.Open,
    открытие без явного FileShare
  • FileMode,
    второй параметр конструктора
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить