Конструктор FileStream(String, FileMode, FileAccess, FileShare, Int32, Boolean)
Инициализирует новый экземпляр класса FileStream с заданными путем, режимом создания, разрешениями на чтение и запись и совместное использование, размером буфера и синхронным или асинхронным состоянием.
Синтаксис
public FileStream(string path, FileMode mode, FileAccess access, FileShare share, int bufferSize, bool useAsync)
Параметры
access
-
Константа, определяющая способ доступа к файлу объекта FileStream.Этот параметр получает свойства
CanRead и
CanWrite объекта FileStream.Если параметр
path указывает на файл диска, значение свойства
CanSeek равно true.
bufferSize
-
Положительное значение
Int32 , большее 0, определяющее размер буфера.Для значений
bufferSize от 0 до 8 фактический размер буфера устанавливается равным 8 байт.
useAsync
-
Указывает, использовать ли асинхронный ввод-вывод или синхронный ввод-вывод.Однако обратите внимание, что основная операционная система может не поддерживать асинхронный ввод-вывод, поэтому, когда задается значение true, дескриптор может быть открыт синхронно в зависимости от платформы.При асинхронном открытии методы
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) и
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) выполняются лучше при чтении или записи больших объемов, но они могут работать намного медленнее при чтении или записи маленьких объемов данных.Если приложение разработано таким образом, чтобы получить преимущества асинхронного ввода-вывода, установите параметр
useAsync равным true.При корректном использовании асинхронного ввода-вывода быстродействие приложения может возрасти вплоть до 10 раз, но использование такого режима ввода-вывода без переработки приложения может во столько же раз ухудшить быстродействие.