FileStream Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет Stream в файле, поддерживая синхронные и асинхронные операции чтения и записи.
public ref class FileStream : System::IO::Stream
public class FileStream : System.IO.Stream
[System.Runtime.InteropServices.ComVisible(true)]
public class FileStream : System.IO.Stream
type FileStream = class
inherit Stream
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileStream = class
inherit Stream
Public Class FileStream
Inherits Stream
- Наследование
- Наследование
- Производный
- Атрибуты
Примеры
В следующем примере показаны некоторые конструкторы FileStream .
using namespace System;
using namespace System::IO;
using namespace System::Text;
void AddText( FileStream^ fs, String^ value )
{
array<Byte>^info = (gcnew UTF8Encoding( true ))->GetBytes( value );
fs->Write( info, 0, info->Length );
}
int main()
{
String^ path = "c:\\temp\\MyTest.txt";
// Delete the file if it exists.
if ( File::Exists( path ) )
{
File::Delete( path );
}
//Create the file.
{
FileStream^ fs = File::Create( path );
try
{
AddText( fs, "This is some text" );
AddText( fs, "This is some more text," );
AddText( fs, "\r\nand this is on a new line" );
AddText( fs, "\r\n\r\nThe following is a subset of characters:\r\n" );
for ( int i = 1; i < 120; i++ )
{
AddText( fs, Convert::ToChar( i ).ToString() );
//Split the output at every 10th character.
if ( Math::IEEERemainder( Convert::ToDouble( i ), 10 ) == 0 )
{
AddText( fs, "\r\n" );
}
}
}
finally
{
if ( fs )
delete (IDisposable^)fs;
}
}
//Open the stream and read it back.
{
FileStream^ fs = File::OpenRead( path );
try
{
array<Byte>^b = gcnew array<Byte>(1024);
UTF8Encoding^ temp = gcnew UTF8Encoding( true );
while ( fs->Read( b, 0, b->Length ) > 0 )
{
Console::WriteLine( temp->GetString( b ) );
}
}
finally
{
if ( fs )
delete (IDisposable^)fs;
}
}
}
using System;
using System.IO;
using System.Text;
class Test
{
public static void Main()
{
string path = @"c:\temp\MyTest.txt";
// Delete the file if it exists.
if (File.Exists(path))
{
File.Delete(path);
}
//Create the file.
using (FileStream fs = File.Create(path))
{
AddText(fs, "This is some text");
AddText(fs, "This is some more text,");
AddText(fs, "\r\nand this is on a new line");
AddText(fs, "\r\n\r\nThe following is a subset of characters:\r\n");
for (int i=1;i < 120;i++)
{
AddText(fs, Convert.ToChar(i).ToString());
}
}
//Open the stream and read it back.
using (FileStream fs = File.OpenRead(path))
{
byte[] b = new byte[1024];
UTF8Encoding temp = new UTF8Encoding(true);
int readLen;
while ((readLen = fs.Read(b,0,b.Length)) > 0)
{
Console.WriteLine(temp.GetString(b,0,readLen));
}
}
}
private static void AddText(FileStream fs, string value)
{
byte[] info = new UTF8Encoding(true).GetBytes(value);
fs.Write(info, 0, info.Length);
}
}
open System
open System.IO
open System.Text
let addText (fs:FileStream) (value: string) =
let info = UTF8Encoding(true).GetBytes value
fs.Write(info, 0, info.Length);
let path = @"c:\temp\MyTest.txt"
// Delete the file if it exists.
if File.Exists path then
File.Delete path
//Create the file.
do
use fs = File.Create path
addText fs "This is some text"
addText fs "This is some more text,"
addText fs "\r\nand this is on a new line"
addText fs "\r\n\r\nThe following is a subset of characters:\r\n"
for i = 1 to 119 do
Convert.ToChar i
|> string
|> addText fs
do
//Open the stream and read it back.
use fs = File.OpenRead path
let b = Array.zeroCreate 1024
let temp = UTF8Encoding true
let mutable readLen = fs.Read(b,0,b.Length);
while readLen> 0 do
printfn $"{temp.GetString(b,0,readLen)}"
readLen <- fs.Read(b,0,b.Length)
Imports System.IO
Imports System.Text
Public Class Test
Public Shared Sub Main()
Dim path As String = "c:\temp\MyTest.txt"
' Delete the file if it exists.
If File.Exists(path) Then
File.Delete(path)
End If
'Create the file.
Dim fs As FileStream = File.Create(path)
AddText(fs, "This is some text")
AddText(fs, "This is some more text,")
AddText(fs, Environment.NewLine & "and this is on a new line")
AddText(fs, Environment.NewLine & Environment.NewLine)
AddText(fs, "The following is a subset of characters:" & Environment.NewLine)
Dim i As Integer
For i = 1 To 120
AddText(fs, Convert.ToChar(i).ToString())
Next
fs.Close()
'Open the stream and read it back.
fs = File.OpenRead(path)
Dim b(1023) As Byte
Dim temp As UTF8Encoding = New UTF8Encoding(True)
Do While fs.Read(b, 0, b.Length) > 0
Console.WriteLine(temp.GetString(b))
Loop
fs.Close()
End Sub
Private Shared Sub AddText(ByVal fs As FileStream, ByVal value As String)
Dim info As Byte() = New UTF8Encoding(True).GetBytes(value)
fs.Write(info, 0, info.Length)
End Sub
End Class
В следующем примере показано, как выполнить асинхронную запись в файл. Этот код выполняется в приложении WPF с именем TextBlock с именем UserInput и кнопкой, подключенной к обработчику событий Click с именем Button_Click. Путь к файлу необходимо изменить на файл, который существует на компьютере.
using System;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.IO;
namespace WpfApplication1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private async void Button_Click(object sender, RoutedEventArgs e)
{
UnicodeEncoding uniencoding = new UnicodeEncoding();
string filename = @"c:\Users\exampleuser\Documents\userinputlog.txt";
byte[] result = uniencoding.GetBytes(UserInput.Text);
using (FileStream SourceStream = File.Open(filename, FileMode.OpenOrCreate))
{
SourceStream.Seek(0, SeekOrigin.End);
await SourceStream.WriteAsync(result, 0, result.Length);
}
}
}
}
Imports System.IO
Imports System.Text
Class MainWindow
Private Async Sub Button_Click(sender As Object, e As RoutedEventArgs)
Dim uniencoding As UnicodeEncoding = New UnicodeEncoding()
Dim filename As String = "c:\Users\exampleuser\Documents\userinputlog.txt"
Dim result As Byte() = uniencoding.GetBytes(UserInput.Text)
Using SourceStream As FileStream = File.Open(filename, FileMode.OpenOrCreate)
SourceStream.Seek(0, SeekOrigin.End)
Await SourceStream.WriteAsync(result, 0, result.Length)
End Using
End Sub
End Class
Комментарии
FileStream Используйте класс для чтения, записи, открытия и закрытия файлов в файловой системе, а также для управления другими дескрипторами операционной системы, связанными с файлами, включая каналы, стандартные входные данные и стандартные выходные данные. Для выполнения синхронных операций Readможно использовать методы , Write, CopyToи Flush или ReadAsyncметоды , WriteAsync, CopyToAsyncи FlushAsync для выполнения асинхронных операций. Используйте асинхронные методы для выполнения ресурсоемких операций с файлами, не блокируя основной поток. Это соображение, связанное с производительностью, особенно важно в приложениях Магазина Windows 8.x и классических приложениях, в которых длительная потоковая операция может блокировать поток пользовательского интерфейса и создавать впечатление, что приложение не работает. FileStream буферы входных и выходных данных для повышения производительности.
Важно!
Этот тип реализует интерфейс IDisposable. По окончании использования выдаленную ему память следует прямо или косвенно освободить. Чтобы сделать это прямо, вызовите его метод Dispose в блоке try
/catch
. Чтобы сделать это косвенно, используйте языковые конструкции, такие как using
(в C#) или Using
(в Visual Basic). Дополнительные сведения см. в разделе "Использование объекта, реализующего IDisposable" в статье об интерфейсе IDisposable.
Свойство IsAsync определяет, был ли дескриптор файла открыт асинхронно. Это значение указывается при создании экземпляра FileStream класса с помощью конструктора с параметром isAsync
, useAsync
или options
. Если свойство имеет значение true
, поток использует перекрывающиеся операции ввода-вывода для асинхронного выполнения операций с файлами. Однако IsAsync свойство не обязательно должно быть true
для вызова ReadAsyncметода , WriteAsyncили CopyToAsync . IsAsync Если свойство имеет значение false
и вы вызываете асинхронные операции чтения и записи, поток пользовательского интерфейса по-прежнему не блокируется, но фактическая операция ввода-вывода выполняется синхронно.
Метод Seek поддерживает случайный доступ к файлам. Seek позволяет перемещать позицию чтения и записи в любую позицию в файле. Это делается с помощью параметров опорной точки смещения байтов. Смещение байтов относительно точки поиска, которая может быть началом, текущей позицией или концом базового файла, представленным тремя элементами SeekOrigin перечисления.
Примечание
Файлы дисков всегда поддерживают случайный доступ. Во время создания свойству CanSeek присваивается true
значение или false
в зависимости от типа базового файла. Если базовый тип файла FILE_TYPE_DISK, как определено в winbase.h, CanSeek значение свойства равно true
. CanSeek В противном случае значение свойства равно false
.
Если процесс завершается блокировкой части файла или закрывается файл с незаблокированными блокировками, поведение не определено.
Сведения об операциях с каталогами и других операциях с файлами см. в классах File, Directoryи Path . Класс File является служебным классом, который имеет статические методы в основном для создания FileStream объектов на основе путей к файлам. Класс MemoryStream создает поток из массива байтов и аналогичен классу FileStream .
Список распространенных операций с файлами и каталогами см. в разделе Общие задачи ввода-вывода.
Обнаружение изменений положения потока
FileStream Если объект не имеет монопольного удержания дескриптора, другой поток может получить доступ к дескриптору файла одновременно и изменить положение указателя файла операционной системы, связанного с дескриптором файла. В этом случае кэшированное положение в объекте FileStream и кэшированные данные в буфере могут быть скомпрометированы. Объект FileStream регулярно проверяет методы, которые обращаются к кэшированному буферу, чтобы убедиться, что позиция дескриптора операционной системы совпадает с позицией в кэше, используемой FileStream объектом .
Если при вызове Read метода обнаружено непредвиденное изменение позиции дескриптора, платформа .NET Framework удаляет содержимое буфера и снова считывает поток из файла. Это может повлиять на производительность в зависимости от размера файла и других процессов, которые могут повлиять на положение потока файлов.
Если при вызове Write метода обнаруживается непредвиденное изменение позиции дескриптора, содержимое буфера удаляется и IOException создается исключение.
Объект FileStream не будет иметь монопольного удержания на своем дескриптоле, если доступ к свойству SafeFileHandle предоставляется для предоставления дескриптора или FileStream объекту присваивается SafeFileHandle свойство в его конструкторе.
Конструкторы
FileStream(IntPtr, FileAccess) |
Является устаревшей.
Является устаревшей.
Является устаревшей.
Является устаревшей.
Инициализирует новый экземпляр класса FileStream для заданного дескриптора файла, используя указанные разрешения на чтение и запись. |
FileStream(IntPtr, FileAccess, Boolean) |
Является устаревшей.
Является устаревшей.
Является устаревшей.
Является устаревшей.
Инициализирует новый экземпляр класса FileStream для заданного дескриптора файла, используя указанные разрешения на чтение и запись и владельца экземпляра |
FileStream(IntPtr, FileAccess, Boolean, Int32) |
Является устаревшей.
Является устаревшей.
Является устаревшей.
Является устаревшей.
Инициализирует новый экземпляр класса FileStream для заданного дескриптора файла, используя указанные разрешения на чтение и запись, владельца экземпляра |
FileStream(IntPtr, FileAccess, Boolean, Int32, Boolean) |
Является устаревшей.
Является устаревшей.
Является устаревшей.
Является устаревшей.
Инициализирует новый экземпляр класса FileStream для заданного дескриптора файла, используя указанные разрешения на чтение и запись, владельца экземпляра |
FileStream(SafeFileHandle, FileAccess) |
Инициализирует новый экземпляр класса FileStream для заданного дескриптора файла, используя указанные разрешения на чтение и запись. |
FileStream(SafeFileHandle, FileAccess, Int32) |
Инициализирует новый экземпляр класса FileStream для заданного дескриптора файла, используя указанные разрешения на чтение и запись и размер буфера. |
FileStream(SafeFileHandle, FileAccess, Int32, Boolean) |
Инициализирует новый экземпляр класса FileStream для заданного дескриптора файла, используя указанные разрешения на чтение и запись, размер буфера и синхронное или асинхронное состояние. |
FileStream(String, FileMode) |
Инициализирует новый экземпляр класса FileStream указанным путем и режимом создания. |
FileStream(String, FileMode, FileAccess) |
Инициализирует новый экземпляр класса FileStream заданным путем, режимом создания и разрешением на чтение и запись. |
FileStream(String, FileMode, FileAccess, FileShare) |
Инициализирует новый экземпляр класса FileStream заданным путем, режимом создания, разрешением на чтение и запись и разрешением на совместное использование. |
FileStream(String, FileMode, FileAccess, FileShare, Int32) |
Инициализирует новый экземпляр класса FileStream заданным путем, режимом создания, разрешениями на чтение и запись и на совместное использование, а также размером буфера. |
FileStream(String, FileMode, FileAccess, FileShare, Int32, Boolean) |
Инициализирует новый экземпляр класса FileStream заданным путем, режимом создания, разрешениями на чтение и запись и совместное использование, размером буфера и синхронным или асинхронным состоянием. |
FileStream(String, FileMode, FileAccess, FileShare, Int32, FileOptions) |
Инициализирует новый экземпляр класса FileStream заданным путем, режимом создания, разрешениями на чтение, запись и совместное использование, доступом для других FileStreams к этому же файлу, размером буфера и дополнительными параметрами файла. |
FileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions) |
Инициализирует новый экземпляр класса FileStream заданным путем, режимом создания, разрешениями на чтение, запись и совместное использование, размером буфера и дополнительными параметрами файла. |
FileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity) |
Инициализирует новый экземпляр класса FileStream заданными путем, режимом создания, правами на доступ и совместное использование, размером буфера, дополнительными параметрами файла, управлением доступом и аудитом безопасности. |
FileStream(String, FileStreamOptions) |
Инициализирует новый экземпляр FileStream класса с указанным путем, режимом создания, разрешением на чтение и запись и совместное использование, размером буфера, дополнительными параметрами файла, размером предварительного размещения и доступом других файловых потоков к тому же файлу. |
Свойства
CanRead |
Получает значение, указывающее, поддерживает ли текущий поток чтение. |
CanSeek |
Получает значение, указывающее, поддерживает ли текущий поток поиск. |
CanTimeout |
Возвращает значение, которое показывает, может ли для данного потока истечь время ожидания. (Унаследовано от Stream) |
CanWrite |
Получает значение, указывающее, поддерживает ли текущий поток запись. |
Handle |
Является устаревшей.
Является устаревшей.
Является устаревшей.
Является устаревшей.
Возвращает дескриптор файла операционной системы для файла, инкапсулируемого текущим объектом |
IsAsync |
Получает значение, указывающее, как был открыт |
Length |
Получает длину потока в байтах. |
Name |
Получает абсолютный путь к файлу, открытому в функции |
Position |
Возвращает или задает текущую позицию этого потока. |
ReadTimeout |
Возвращает или задает значение в миллисекундах, определяющее период времени, отведенного потоку на выполнение операции чтения. (Унаследовано от Stream) |
SafeFileHandle |
Возвращает объект SafeFileHandle, представляющий дескриптор файла операционной системы для файла, инкапсулируемого текущим объектом FileStream. |
WriteTimeout |
Возвращает или задает значение в миллисекундах, определяющее период времени, отведенного потоку на выполнение операции записи. (Унаследовано от Stream) |
Методы
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Начинает операцию асинхронного чтения. Вместо него рекомендуется использовать класс ReadAsync(Byte[], Int32, Int32, CancellationToken). |
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Начинает операцию асинхронного чтения. (Рекомендуется использовать ReadAsync(Byte[], Int32, Int32).) (Унаследовано от Stream) |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Начинает операцию асинхронной записи. Вместо него рекомендуется использовать класс WriteAsync(Byte[], Int32, Int32, CancellationToken). |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Начинает операцию асинхронной записи. (Рекомендуется использовать WriteAsync(Byte[], Int32, Int32).) (Унаследовано от Stream) |
Close() |
Закрывает текущий поток и отключает все ресурсы (например, сокеты и файловые дескрипторы), связанные с текущим потоком. |
Close() |
Закрывает текущий поток и отключает все ресурсы (например, сокеты и файловые дескрипторы), связанные с текущим потоком. Вместо вызова данного метода, убедитесь в том, что поток надлежащим образом ликвидирован. (Унаследовано от Stream) |
CopyTo(Stream) |
Считывает байты из текущего потока и записывает их в другой поток. Обе позиции потоков перемещаются по количеству скопированных байтов. (Унаследовано от Stream) |
CopyTo(Stream, Int32) |
Считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера. Обе позиции потоков перемещаются по количеству скопированных байтов. (Унаследовано от Stream) |
CopyToAsync(Stream) |
Асинхронно считывает байты из текущего потока и записывает их в другой поток. Обе позиции потоков перемещаются по количеству скопированных байтов. (Унаследовано от Stream) |
CopyToAsync(Stream, CancellationToken) |
Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный токен отмены. Обе позиции потоков перемещаются по количеству скопированных байтов. (Унаследовано от Stream) |
CopyToAsync(Stream, Int32) |
Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера. Обе позиции потоков перемещаются по количеству скопированных байтов. (Унаследовано от Stream) |
CopyToAsync(Stream, Int32, CancellationToken) |
Асинхронно считывает байты из текущего файлового потока и записывает их в другой поток, используя указанный размер буфера и токен отмены. |
CopyToAsync(Stream, Int32, CancellationToken) |
Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера и токен отмены. Обе позиции потоков перемещаются по количеству скопированных байтов. (Унаследовано от Stream) |
CreateObjRef(Type) |
Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
CreateWaitHandle() |
Является устаревшей.
Является устаревшей.
Является устаревшей.
Выделяет объект WaitHandle. (Унаследовано от Stream) |
Dispose() |
Освобождает все ресурсы, занятые модулем Stream. (Унаследовано от Stream) |
Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые объектом FileStream, а при необходимости освобождает также управляемые ресурсы. |
DisposeAsync() |
Асинхронно освобождает неуправляемые ресурсы, используемые классом FileStream. |
DisposeAsync() |
Асинхронно освобождает неуправляемые ресурсы, используемые классом Stream. (Унаследовано от Stream) |
EndRead(IAsyncResult) |
Ожидает завершения отложенной асинхронной операции чтения. (Рекомендуется использовать ReadAsync(Byte[], Int32, Int32, CancellationToken).) |
EndRead(IAsyncResult) |
Ожидает завершения отложенного асинхронного чтения. (Рекомендуется использовать ReadAsync(Byte[], Int32, Int32).) (Унаследовано от Stream) |
EndWrite(IAsyncResult) |
Завершает асинхронную операцию записи и блокирует до тех пор, пока не будет завершена операция ввода-вывода. (Рекомендуется использовать WriteAsync(Byte[], Int32, Int32, CancellationToken).) |
EndWrite(IAsyncResult) |
Заканчивает операцию асинхронной записи. (Рекомендуется использовать WriteAsync(Byte[], Int32, Int32).) (Унаследовано от Stream) |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Finalize() |
Гарантирует, что ресурсы освобождены и выполнены другие операции очистки, когда сборщик мусора восстанавливает |
Flush() |
Очищает буферы для этого потока и вызывает запись всех буферизованных данных в файл. |
Flush(Boolean) |
Очищает буферы для этого потока и вызывает запись всех буферизованных данных в файл, а также очищает все буферы промежуточных файлов. |
FlushAsync() |
Асинхронно очищает все буферы для этого потока и вызывает запись всех буферизованных данных в базовое устройство. (Унаследовано от Stream) |
FlushAsync(CancellationToken) |
Асинхронно очищает все буферы данного потока, вызывает запись буферизованных данных в базовое устройство и отслеживает запросы отмены. |
FlushAsync(CancellationToken) |
Асинхронно очищает все буферы данного потока, вызывает запись буферизованных данных в базовое устройство и отслеживает запросы отмены. (Унаследовано от Stream) |
GetAccessControl() |
Возвращает объект FileSecurity, который инкапсулирует записи списка управления доступом (ACL) для файла, описываемого текущим объектом FileStream. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetLifetimeService() |
Является устаревшей.
Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра. (Унаследовано от MarshalByRefObject) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
InitializeLifetimeService() |
Является устаревшей.
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
Lock(Int64, Int64) |
Запрещает другим процессам чтение объекта FileStream и запись в этот объект. |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
MemberwiseClone(Boolean) |
Создает неполную копию текущего объекта MarshalByRefObject. (Унаследовано от MarshalByRefObject) |
ObjectInvariant() |
Является устаревшей.
Обеспечивает поддержку для Contract. (Унаследовано от Stream) |
Read(Byte[], Int32, Int32) |
Выполняет чтение блока байтов из потока и запись данных в заданный буфер. |
Read(Span<Byte>) |
Считывает последовательность байтов из текущего файлового потока и перемещает позицию внутри файлового потока на число считанных байтов. |
Read(Span<Byte>) |
При переопределении в производном классе считывает последовательность байтов из текущего потока и перемещает позицию в потоке на число считанных байтов. (Унаследовано от Stream) |
ReadAsync(Byte[], Int32, Int32) |
Асинхронно считывает последовательность байтов из текущего потока и перемещает позицию внутри потока на число считанных байтов. (Унаследовано от Stream) |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Асинхронно считывает последовательность байтов из текущего файлового потока, записывает их в массив байтов по заданному смещению, перемещает позицию в файловом потоке на число считанных байтов и отслеживает запросы отмены. |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Асинхронно считывает последовательность байтов из текущего потока, перемещает позицию в потоке на число считанных байтов и отслеживает запросы отмены. (Унаследовано от Stream) |
ReadAsync(Memory<Byte>, CancellationToken) |
Асинхронно считывает последовательность байтов из текущего файлового потока, записывает их в область памяти, перемещает позицию в файловом потоке на число считанных байтов и отслеживает запросы отмены. |
ReadAsync(Memory<Byte>, CancellationToken) |
Асинхронно считывает последовательность байтов из текущего потока, перемещает позицию в потоке на число считанных байтов и отслеживает запросы отмены. (Унаследовано от Stream) |
ReadAtLeast(Span<Byte>, Int32, Boolean) |
Считывает по крайней мере минимальное количество байтов из текущего потока и перемещает позицию в потоке на число прочитанных байтов. (Унаследовано от Stream) |
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) |
Асинхронно считывает по крайней мере минимальное количество байтов из текущего потока, перемещает позицию в потоке на число прочитанных байтов и отслеживает запросы отмены. (Унаследовано от Stream) |
ReadByte() |
Считывает байт из файла и перемещает положение чтения на один байт. |
ReadExactly(Byte[], Int32, Int32) |
Считывает |
ReadExactly(Span<Byte>) |
Считывает байты из текущего потока и перемещает позицию в потоке |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Асинхронно считывает |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Асинхронно считывает байты из текущего потока, перемещает позицию в потоке |
Seek(Int64, SeekOrigin) |
Устанавливает текущее положение этого потока на заданное значение. |
SetAccessControl(FileSecurity) |
Применяет записи списка управления доступом (ACL), описанные объектом FileSecurity, к файлу, который описывается текущим объектом FileStream. |
SetLength(Int64) |
Устанавливает длину этого потока на заданное значение. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Unlock(Int64, Int64) |
Разрешает доступ других процессов ко всему ранее заблокированному файлу или его части. |
Write(Byte[], Int32, Int32) |
Записывает блок байтов в файловый поток. |
Write(ReadOnlySpan<Byte>) |
Записывает последовательность байтов в текущий файловый поток из диапазона только для чтения и перемещает текущую позицию внутри файлового потока на число записанных байтов. |
Write(ReadOnlySpan<Byte>) |
При переопределении в производном классе записывает последовательность байтов в текущий поток и перемещает текущую позицию в нем вперед на число записанных байтов. (Унаследовано от Stream) |
WriteAsync(Byte[], Int32, Int32) |
Асинхронно записывает последовательность байтов в текущий поток и перемещает текущую позицию внутри потока на число записанных байтов. (Унаследовано от Stream) |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Асинхронно записывает последовательность байтов в текущий поток, перемещает текущую позицию внутри потока на число записанных байтов и отслеживает запросы отмены. |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Асинхронно записывает последовательность байтов в текущий поток, перемещает текущую позицию внутри потока на число записанных байтов и отслеживает запросы отмены. (Унаследовано от Stream) |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Асинхронно записывает последовательность байтов из области памяти в текущий файловый поток, перемещает текущую позицию внутри файлового потока на число записанных байтов и отслеживает запросы отмены. |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Асинхронно записывает последовательность байтов в текущий поток, перемещает текущую позицию внутри потока на число записанных байтов и отслеживает запросы отмены. (Унаследовано от Stream) |
WriteByte(Byte) |
Запись байта в текущую позицию в потоке файла. |
Явные реализации интерфейса
IDisposable.Dispose() |
Освобождает все ресурсы, занятые модулем Stream. (Унаследовано от Stream) |
Методы расширения
GetAccessControl(FileStream) |
Возвращает сведения о безопасности для файла. |
SetAccessControl(FileStream, FileSecurity) |
Изменяет атрибуты безопасности для существующего файла. |
AsInputStream(Stream) |
Преобразует управляемый поток в .NET для приложений Магазина Windows во входной поток в среде выполнения Windows. |
AsOutputStream(Stream) |
Преобразует управляемый поток в .NET для приложений Магазина Windows в поток вывода в среде выполнения Windows. |
AsRandomAccessStream(Stream) |
Преобразует заданный поток в поток прямого доступа. |
ConfigureAwait(IAsyncDisposable, Boolean) |
Настраивает способ выполнения ожиданий для задач, возвращаемых из асинхронного высвобождаемого объекта. |