FileStream FileStream FileStream FileStream Class

Определение

Предоставляет Stream в файле, поддерживая синхронные и асинхронные операции чтения и записи.Provides a Stream for a file, supporting both synchronous and asynchronous read and write operations.

public ref class FileStream : System::IO::Stream
[System.Runtime.InteropServices.ComVisible(true)]
public class FileStream : System.IO.Stream
type FileStream = class
    inherit Stream
Public Class FileStream
Inherits Stream
Наследование
Атрибуты

Примеры

В следующем примере показано, некоторые из FileStream конструкторы.The following example demonstrates some of the FileStream constructors.

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);
            while (fs.Read(b,0,b.Length) > 0)
            {
                Console.WriteLine(temp.GetString(b));
            }
        }
    }

    private static void AddText(FileStream fs, string value)
    {
        byte[] info = new UTF8Encoding(true).GetBytes(value);
        fs.Write(info, 0, info.Length);
    }
}
Imports System
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(1024) 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

Приведенный ниже показано, как асинхронно записать в файл.The following example shows how to write to a file asynchronously. Этот код выполняется в приложении WPF с TextBlock с именем UserInput и привязываем ее к обработчик события Click, который называется Button_Click кнопки.This code runs in a WPF app that has a TextBlock named UserInput and a button hooked up to a Click event handler that is named Button_Click. Путь к файлу должен быть изменен на файл, который существует на компьютере.The file path needs to be changed to a file that exists on the computer.

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 класс для чтения и записи, открывать и закрывать файлы в файловой системе и для работы других дескрипторов операционной системы с файлами, включая каналы, стандартный ввод и стандартный вывод.Use the FileStream class to read from, write to, open, and close files on a file system, and to manipulate other file-related operating system handles, including pipes, standard input, and standard output. Можно использовать Read, Write, CopyTo, и Flush методы для выполнения синхронных операций или ReadAsync, WriteAsync, CopyToAsync, и FlushAsync методы для выполнения асинхронной операции.You can use the Read, Write, CopyTo, and Flush methods to perform synchronous operations, or the ReadAsync, WriteAsync, CopyToAsync, and FlushAsync methods to perform asynchronous operations. Используйте асинхронные методы для выполнения ресурсоемких операций без блокировки основного потока.Use the asynchronous methods to perform resource-intensive file operations without blocking the main thread. Это соображение, связанное с производительностью, особенно важно в приложениях Магазин Windows 8.xWindows 8.x Store и для настольных системdesktop , где длительная потоковая операция может блокировать поток пользовательского интерфейса и создавать впечатление, что приложение не работает.This performance consideration is particularly important in a Магазин Windows 8.xWindows 8.x Store app or для настольных системdesktop app where a time-consuming stream operation can block the UI thread and make your app appear as if it is not working. FileStream Буферы ввода и вывода для повышения производительности.FileStream buffers input and output for better performance.

Важно!

Этот тип реализует интерфейс IDisposable.This type implements the IDisposable interface. По окончании использования выдаленную ему память следует прямо или косвенно освободить.When you have finished using the type, you should dispose of it either directly or indirectly. Чтобы сделать это прямо, вызовите его метод Dispose в блоке try/catch.To dispose of the type directly, call its Dispose method in a try/catch block. Чтобы сделать это косвенно, используйте языковые конструкции, такие как using (в C#) или Using (в Visual Basic).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Дополнительные сведения см. в разделе "Использование объекта, реализующего IDisposable" в статье об интерфейсе IDisposable.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

IsAsync Свойство обнаруживает ли дескриптор файла был открыт асинхронно.The IsAsync property detects whether the file handle was opened asynchronously. Задайте это значение при создании экземпляра FileStream класса, используя конструктор, который имеет isAsync, useAsync, или options параметра.You specify this value when you create an instance of the FileStream class using a constructor that has an isAsync, useAsync, or options parameter. Если это свойство имеет true, поток использует перекрывающегося ввода-вывода для выполнения операций с файлами в асинхронном режиме.When the property is true, the stream utilizes overlapped I/O to perform file operations asynchronously. Тем не менее IsAsync свойство не обязательно должны true для вызова ReadAsync, WriteAsync, или CopyToAsync метод.However, the IsAsync property does not have to be true to call the ReadAsync, WriteAsync, or CopyToAsync method. Когда IsAsync свойство false и вызвать асинхронное чтение и запись операций, в потоке пользовательского интерфейса не блокируется, но реальной операции ввода-вывода выполняется синхронно.When the IsAsync property is false and you call the asynchronous read and write operations, the UI thread is still not blocked, but the actual I/O operation is performed synchronously.

Seek Метод поддерживает произвольный доступ к файлам.The Seek method supports random access to files. Seek позволяет позицию чтения/записи перемещаемого любой позиции в файле.Seek allows the read/write position to be moved to any position within the file. Это делается с помощью байта смещения параметров точки ссылки.This is done with byte offset reference point parameters. Смещение в байтах задается относительно точка ссылки поиска, который может быть начало, текущая позиция или конец файла, три члена SeekOrigin перечисления.The byte offset is relative to the seek reference point, which can be the beginning, the current position, or the end of the underlying file, as represented by the three members of the SeekOrigin enumeration.

Примечание

Файлы на диске всегда поддерживает произвольный доступ.Disk files always support random access. Во время конструирования CanSeek имеет значение true или false в зависимости от базового типа файла. Если базовый тип файла — FILE_TYPE_DISK, как определено в winbase.h CanSeek свойство имеет значение true.At the time of construction, the CanSeek property value is set to true or false depending on the underlying file type.If the underlying file type is FILE_TYPE_DISK, as defined in winbase.h, the CanSeek property value is true. В противном случае CanSeek свойство имеет значение false.Otherwise, the CanSeek property value is false.

Если процесс заканчивается часть файла заблокирована или закрывает файл, содержащий необработанных блокировок, поведение не определено.If a process terminates with part of a file locked or closes a file that has outstanding locks, the behavior is undefined.

Операции с каталогами и других операций с файлами, см. в разделе File, Directory, и Path классы.For directory operations and other file operations, see the File, Directory, and Path classes. File Класс — это служебный класс, который содержит статические методы в первую очередь для создания FileStream объекты, основанные на пути к файлам.The File class is a utility class that has static methods primarily for the creation of FileStream objects based on file paths. MemoryStream Класс создает поток из массива байтов и аналогичен FileStream класса.The MemoryStream class creates a stream from a byte array and is similar to the FileStream class.

Список общих файлов и операции с каталогами, см. в разделе распространенные задачи ввода-вывода.For a list of common file and directory operations, see Common I/O Tasks.

Обнаружение изменений позиции StreamDetection of Stream Position Changes

Когда FileStream объект не имеет монопольно на его дескриптор, другой поток, можно одновременно получить доступ к дескриптор файла и изменить положение указателя файла операционной системы, который связан с дескриптором файла.When a FileStream object does not have an exclusive hold on its handle, another thread could access the file handle concurrently and change the position of the operating system's file pointer that is associated with the file handle. В данном случае кэшированное положение в FileStream объекта и кэшированные данные в буфере могут быть скомпрометированы.In this case, the cached position in the FileStream object and the cached data in the buffer could be compromised. FileStream Объект обычно выполняет проверки для методов, которые обращаются к кэшированное буфера убедитесь, что положения дескриптора операционной системы так же, как кэшированные положение, используемое с FileStream объекта.The FileStream object routinely performs checks on methods that access the cached buffer to ensure that the operating system's handle position is the same as the cached position used by the FileStream object.

Если в вызове обнаруживается непредвиденное изменение положения дескриптора Read метод .NET Framework отменяет содержимое буфера и еще раз считывает поток из файла.If an unexpected change in the handle position is detected in a call to the Read method, the .NET Framework discards the contents of the buffer and reads the stream from the file again. Это может повлиять на производительность, в зависимости от размера файла и другие процессы, которые могут повлиять на позицию в потоке файла.This can affect performance, depending on the size of the file and any other processes that could affect the position of the file stream.

Если в вызове обнаруживается непредвиденное изменение положения дескриптора Write отбрасываются метод, содержимое буфера и IOException возникает исключение.If an unexpected change in the handle position is detected in a call to the Write method, the contents of the buffer are discarded and an IOException exception is thrown.

Объект FileStream объекта не будет монопольно на дескриптор при либо SafeFileHandle обращении к свойству для предоставления дескриптора или FileStream объекту присваивается SafeFileHandle свойство в своем конструкторе.A FileStream object will not have an exclusive hold on its handle when either the SafeFileHandle property is accessed to expose the handle or the FileStream object is given the SafeFileHandle property in its constructor.

Конструкторы

FileStream(IntPtr, FileAccess) FileStream(IntPtr, FileAccess) FileStream(IntPtr, FileAccess) FileStream(IntPtr, FileAccess)

Инициализирует новый экземпляр класса FileStream для заданного дескриптора файла, используя указанные разрешения на чтение и запись.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission.

FileStream(IntPtr, FileAccess, Boolean) FileStream(IntPtr, FileAccess, Boolean) FileStream(IntPtr, FileAccess, Boolean) FileStream(IntPtr, FileAccess, Boolean)

Инициализирует новый экземпляр класса FileStream для заданного дескриптора файла, используя указанные разрешения на чтение и запись и владельца экземпляра FileStream.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission and FileStream instance ownership.

FileStream(IntPtr, FileAccess, Boolean, Int32) FileStream(IntPtr, FileAccess, Boolean, Int32) FileStream(IntPtr, FileAccess, Boolean, Int32) FileStream(IntPtr, FileAccess, Boolean, Int32)

Инициализирует новый экземпляр класса FileStream для заданного дескриптора файла, используя указанные разрешения на чтение и запись, владельца экземпляра FileStream и размер буфера.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission, FileStream instance ownership, and buffer size.

FileStream(IntPtr, FileAccess, Boolean, Int32, Boolean) FileStream(IntPtr, FileAccess, Boolean, Int32, Boolean) FileStream(IntPtr, FileAccess, Boolean, Int32, Boolean) FileStream(IntPtr, FileAccess, Boolean, Int32, Boolean)

Инициализирует новый экземпляр класса FileStream для заданного дескриптора файла, используя указанные разрешения на чтение и запись, владельца экземпляра FileStream, размер буфера и синхронное или асинхронное состояние.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission, FileStream instance ownership, buffer size, and synchronous or asynchronous state.

FileStream(SafeFileHandle, FileAccess) FileStream(SafeFileHandle, FileAccess) FileStream(SafeFileHandle, FileAccess) FileStream(SafeFileHandle, FileAccess)

Инициализирует новый экземпляр класса FileStream для заданного дескриптора файла, используя указанные разрешения на чтение и запись.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission.

FileStream(SafeFileHandle, FileAccess, Int32) FileStream(SafeFileHandle, FileAccess, Int32) FileStream(SafeFileHandle, FileAccess, Int32) FileStream(SafeFileHandle, FileAccess, Int32)

Инициализирует новый экземпляр класса FileStream для заданного дескриптора файла, используя указанные разрешения на чтение и запись и размер буфера.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission, and buffer size.

FileStream(SafeFileHandle, FileAccess, Int32, Boolean) FileStream(SafeFileHandle, FileAccess, Int32, Boolean) FileStream(SafeFileHandle, FileAccess, Int32, Boolean) FileStream(SafeFileHandle, FileAccess, Int32, Boolean)

Инициализирует новый экземпляр класса FileStream для заданного дескриптора файла, используя указанные разрешения на чтение и запись, размер буфера и синхронное или асинхронное состояние.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission, buffer size, and synchronous or asynchronous state.

FileStream(String, FileMode) FileStream(String, FileMode) FileStream(String, FileMode) FileStream(String, FileMode)

Инициализирует новый экземпляр класса FileStream указанным путем и режимом создания.Initializes a new instance of the FileStream class with the specified path and creation mode.

FileStream(String, FileMode, FileAccess) FileStream(String, FileMode, FileAccess) FileStream(String, FileMode, FileAccess) FileStream(String, FileMode, FileAccess)

Инициализирует новый экземпляр класса FileStream заданным путем, режимом создания и разрешением на чтение и запись.Initializes a new instance of the FileStream class with the specified path, creation mode, and read/write permission.

FileStream(String, FileMode, FileAccess, FileShare) FileStream(String, FileMode, FileAccess, FileShare) FileStream(String, FileMode, FileAccess, FileShare) FileStream(String, FileMode, FileAccess, FileShare)

Инициализирует новый экземпляр класса FileStream заданным путем, режимом создания, разрешением на чтение и запись и разрешением на совместное использование.Initializes a new instance of the FileStream class with the specified path, creation mode, read/write permission, and sharing permission.

FileStream(String, FileMode, FileAccess, FileShare, Int32) FileStream(String, FileMode, FileAccess, FileShare, Int32) FileStream(String, FileMode, FileAccess, FileShare, Int32) FileStream(String, FileMode, FileAccess, FileShare, Int32)

Инициализирует новый экземпляр класса FileStream заданным путем, режимом создания, разрешениями на чтение и запись и на совместное использование, а также размером буфера.Initializes a new instance of the FileStream class with the specified path, creation mode, read/write and sharing permission, and buffer size.

FileStream(String, FileMode, FileAccess, FileShare, Int32, Boolean) FileStream(String, FileMode, FileAccess, FileShare, Int32, Boolean) FileStream(String, FileMode, FileAccess, FileShare, Int32, Boolean) FileStream(String, FileMode, FileAccess, FileShare, Int32, Boolean)

Инициализирует новый экземпляр класса FileStream заданным путем, режимом создания, разрешениями на чтение и запись и совместное использование, размером буфера и синхронным или асинхронным состоянием.Initializes a new instance of the FileStream class with the specified path, creation mode, read/write and sharing permission, buffer size, and synchronous or asynchronous state.

FileStream(String, FileMode, FileAccess, FileShare, Int32, FileOptions) FileStream(String, FileMode, FileAccess, FileShare, Int32, FileOptions) FileStream(String, FileMode, FileAccess, FileShare, Int32, FileOptions) FileStream(String, FileMode, FileAccess, FileShare, Int32, FileOptions)

Инициализирует новый экземпляр класса FileStream заданным путем, режимом создания, разрешениями на чтение, запись и совместное использование, доступом для других FileStreams к этому же файлу, размером буфера и дополнительными параметрами файла.Initializes a new instance of the FileStream class with the specified path, creation mode, read/write and sharing permission, the access other FileStreams can have to the same file, the buffer size, and additional file options.

FileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions) FileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions) FileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions) FileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions)

Инициализирует новый экземпляр класса FileStream заданным путем, режимом создания, разрешениями на чтение, запись и совместное использование, размером буфера и дополнительными параметрами файла.Initializes a new instance of the FileStream class with the specified path, creation mode, access rights and sharing permission, the buffer size, and additional file options.

FileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity) FileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity) FileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity) FileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity)

Инициализирует новый экземпляр класса FileStream заданными путем, режимом создания, правами на доступ и совместное использование, размером буфера, дополнительными параметрами файла, управлением доступом и аудитом безопасности.Initializes a new instance of the FileStream class with the specified path, creation mode, access rights and sharing permission, the buffer size, additional file options, access control and audit security.

Свойства

CanRead CanRead CanRead CanRead

Получает значение, указывающее, поддерживает ли текущий поток чтение.Gets a value that indicates whether the current stream supports reading.

CanSeek CanSeek CanSeek CanSeek

Получает значение, указывающее, поддерживает ли текущий поток поиск.Gets a value that indicates whether the current stream supports seeking.

CanTimeout CanTimeout CanTimeout CanTimeout

Получает значение, которое показывает, может ли для данного потока истечь время ожидания.Gets a value that determines whether the current stream can time out.

(Inherited from Stream)
CanWrite CanWrite CanWrite CanWrite

Получает значение, указывающее, поддерживает ли текущий поток запись.Gets a value that indicates whether the current stream supports writing.

Handle Handle Handle Handle

Возвращает дескриптор файла операционной системы для файла, инкапсулируемого текущим объектом FileStream.Gets the operating system file handle for the file that the current FileStream object encapsulates.

IsAsync IsAsync IsAsync IsAsync

Получает значение, указывающее, как был открыт FileStream: синхронно или асинхронно.Gets a value that indicates whether the FileStream was opened asynchronously or synchronously.

Length Length Length Length

Получает длину потока в байтах.Gets the length in bytes of the stream.

Name Name Name Name

Получает абсолютный путь к файлу, открытому в функции FileStream.Gets the absolute path of the file opened in the FileStream.

Position Position Position Position

Возвращает или задает текущую позицию этого потока.Gets or sets the current position of this stream.

ReadTimeout ReadTimeout ReadTimeout ReadTimeout

Возвращает или задает значение в миллисекундах, определяющее период, в течение которого поток будет пытаться выполнить операцию чтения, прежде чем истечет время ожидания.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.

(Inherited from Stream)
SafeFileHandle SafeFileHandle SafeFileHandle SafeFileHandle

Возвращает объект SafeFileHandle, представляющий дескриптор файла операционной системы для файла, инкапсулируемого текущим объектом FileStream.Gets a SafeFileHandle object that represents the operating system file handle for the file that the current FileStream object encapsulates.

WriteTimeout WriteTimeout WriteTimeout WriteTimeout

Возвращает или задает значение в миллисекундах, определяющее период, в течение которого поток будет пытаться выполнить операцию записи, прежде чем истечет время ожидания.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.

(Inherited from Stream)

Методы

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Начинает операцию асинхронного чтения.Begins an asynchronous read operation. Вместо этого рекомендуется использовать ReadAsync(Byte[], Int32, Int32, CancellationToken).Consider using ReadAsync(Byte[], Int32, Int32, CancellationToken) instead.

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Начинает операцию асинхронной записи.Begins an asynchronous write operation. Вместо этого рекомендуется использовать WriteAsync(Byte[], Int32, Int32, CancellationToken).Consider using WriteAsync(Byte[], Int32, Int32, CancellationToken) instead.

Close() Close() Close() Close()

Этот член переопределяет Close(); по данной теме может быть доступна более полная документация.This member overrides Close(), and more complete documentation might be available in that topic.

Закрывает текущий поток и отключает все ресурсы (например, сокеты и файловые дескрипторы), связанные с текущим потоком.Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream.

CopyTo(Stream) CopyTo(Stream) CopyTo(Stream) CopyTo(Stream)

Считывает байты из текущего потока и записывает их в другой поток.Reads the bytes from the current stream and writes them to another stream.

(Inherited from Stream)
CopyTo(Stream, Int32) CopyTo(Stream, Int32) CopyTo(Stream, Int32) CopyTo(Stream, Int32)

Считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера.Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Inherited from Stream)
CopyToAsync(Stream) CopyToAsync(Stream) CopyToAsync(Stream) CopyToAsync(Stream)

Асинхронно считывает байты из текущего потока и записывает их в другой поток.Asynchronously reads the bytes from the current stream and writes them to another stream.

(Inherited from Stream)
CopyToAsync(Stream, CancellationToken) CopyToAsync(Stream, CancellationToken) CopyToAsync(Stream, CancellationToken) CopyToAsync(Stream, CancellationToken)

Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный токен отмены.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token.

(Inherited from Stream)
CopyToAsync(Stream, Int32) CopyToAsync(Stream, Int32) CopyToAsync(Stream, Int32) CopyToAsync(Stream, Int32)

Асинхронно считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Inherited from Stream)
CopyToAsync(Stream, Int32, CancellationToken) CopyToAsync(Stream, Int32, CancellationToken) CopyToAsync(Stream, Int32, CancellationToken) CopyToAsync(Stream, Int32, CancellationToken)
CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
CreateWaitHandle() CreateWaitHandle() CreateWaitHandle() CreateWaitHandle()

Размещает объект WaitHandle.Allocates a WaitHandle object.

(Inherited from Stream)
Dispose() Dispose() Dispose() Dispose()

Освобождает все ресурсы, занятые модулем Stream.Releases all resources used by the Stream.

(Inherited from Stream)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом FileStream, а при необходимости освобождает также управляемые ресурсы.Releases the unmanaged resources used by the FileStream and optionally releases the managed resources.

DisposeAsync() DisposeAsync() DisposeAsync() DisposeAsync()
EndRead(IAsyncResult) EndRead(IAsyncResult) EndRead(IAsyncResult) EndRead(IAsyncResult)

Ожидает завершения отложенной асинхронной операции чтения.Waits for the pending asynchronous read operation to complete. (Рекомендуется использовать ReadAsync(Byte[], Int32, Int32, CancellationToken).)(Consider using ReadAsync(Byte[], Int32, Int32, CancellationToken) instead.)

EndWrite(IAsyncResult) EndWrite(IAsyncResult) EndWrite(IAsyncResult) EndWrite(IAsyncResult)

Завершает асинхронную операцию записи и блокирует до тех пор, пока не будет завершена операция ввода-вывода.Ends an asynchronous write operation and blocks until the I/O operation is complete. (Рекомендуется использовать WriteAsync(Byte[], Int32, Int32, CancellationToken).)(Consider using WriteAsync(Byte[], Int32, Int32, CancellationToken) instead.)

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Finalize() Finalize() Finalize() Finalize()

Гарантирует, что ресурсы освобождены и выполнены другие операции очистки, когда сборщик мусора восстанавливает FileStream.Ensures that resources are freed and other cleanup operations are performed when the garbage collector reclaims the FileStream.

Flush() Flush() Flush() Flush()

Очищает буферы для этого потока и вызывает запись всех буферизованных данных в файл.Clears buffers for this stream and causes any buffered data to be written to the file.

Flush(Boolean) Flush(Boolean) Flush(Boolean) Flush(Boolean)

Очищает буферы для этого потока и вызывает запись всех буферизованных данных в файл, а также очищает все буферы промежуточных файлов.Clears buffers for this stream and causes any buffered data to be written to the file, and also clears all intermediate file buffers.

FlushAsync() FlushAsync() FlushAsync() FlushAsync()

Асинхронно очищает все буферы для этого потока и вызывает запись всех буферизованных данных в базовое устройство.Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.

(Inherited from Stream)
FlushAsync(CancellationToken) FlushAsync(CancellationToken) FlushAsync(CancellationToken) FlushAsync(CancellationToken)

Асинхронно очищает все буферы данного потока, вызывает запись буферизованных данных в базовое устройство и отслеживает запросы отмены.Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests.

GetAccessControl() GetAccessControl() GetAccessControl() GetAccessControl()

Возвращает объект FileSecurity, который инкапсулирует записи списка управления доступом (ACL) для файла, описываемого текущим объектом FileStream.Gets a FileSecurity object that encapsulates the access control list (ACL) entries for the file described by the current FileStream object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
Lock(Int64, Int64) Lock(Int64, Int64) Lock(Int64, Int64) Lock(Int64, Int64)

Запрещает другим процессам чтение объекта FileStream и запись в этот объект.Prevents other processes from reading from or writing to the FileStream.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
ObjectInvariant() ObjectInvariant() ObjectInvariant() ObjectInvariant()

Обеспечивает поддержку для Contract.Provides support for a Contract.

(Inherited from Stream)
Read(Byte[], Int32, Int32) Read(Byte[], Int32, Int32) Read(Byte[], Int32, Int32) Read(Byte[], Int32, Int32)

Выполняет чтение блока байтов из потока и запись данных в заданный буфер.Reads a block of bytes from the stream and writes the data in a given buffer.

Read(Span<Byte>) Read(Span<Byte>) Read(Span<Byte>) Read(Span<Byte>)
ReadAsync(Byte[], Int32, Int32) ReadAsync(Byte[], Int32, Int32) ReadAsync(Byte[], Int32, Int32) ReadAsync(Byte[], Int32, Int32)

Асинхронно считывает последовательность байтов из текущего потока и перемещает позицию внутри потока на число считанных байтов.Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(Inherited from Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken) ReadAsync(Byte[], Int32, Int32, CancellationToken) ReadAsync(Byte[], Int32, Int32, CancellationToken) ReadAsync(Byte[], Int32, Int32, CancellationToken)

Асинхронно считывает последовательность байтов из текущего потока, перемещает позицию в потоке на число считанных байтов и отслеживает запросы отмены.Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

ReadAsync(Memory<Byte>, CancellationToken) ReadAsync(Memory<Byte>, CancellationToken) ReadAsync(Memory<Byte>, CancellationToken) ReadAsync(Memory<Byte>, CancellationToken)
ReadByte() ReadByte() ReadByte() ReadByte()

Считывает байт из файла и перемещает положение чтения на один байт.Reads a byte from the file and advances the read position one byte.

Seek(Int64, SeekOrigin) Seek(Int64, SeekOrigin) Seek(Int64, SeekOrigin) Seek(Int64, SeekOrigin)

Устанавливает текущее положение этого потока на заданное значение.Sets the current position of this stream to the given value.

SetAccessControl(FileSecurity) SetAccessControl(FileSecurity) SetAccessControl(FileSecurity) SetAccessControl(FileSecurity)

Применяет записи списка управления доступом (ACL), описанные объектом FileSecurity, к файлу, который описывается текущим объектом FileStream.Applies access control list (ACL) entries described by a FileSecurity object to the file described by the current FileStream object.

SetLength(Int64) SetLength(Int64) SetLength(Int64) SetLength(Int64)

Устанавливает длину этого потока на заданное значение.Sets the length of this stream to the given value.

ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)
Unlock(Int64, Int64) Unlock(Int64, Int64) Unlock(Int64, Int64) Unlock(Int64, Int64)

Разрешает доступ других процессов ко всему ранее заблокированному файлу или его части.Allows access by other processes to all or part of a file that was previously locked.

Write(Byte[], Int32, Int32) Write(Byte[], Int32, Int32) Write(Byte[], Int32, Int32) Write(Byte[], Int32, Int32)

Записывает блок байтов в файловый поток.Writes a block of bytes to the file stream.

Write(ReadOnlySpan<Byte>) Write(ReadOnlySpan<Byte>) Write(ReadOnlySpan<Byte>) Write(ReadOnlySpan<Byte>)
WriteAsync(Byte[], Int32, Int32) WriteAsync(Byte[], Int32, Int32) WriteAsync(Byte[], Int32, Int32) WriteAsync(Byte[], Int32, Int32)

Асинхронно записывает последовательность байтов в текущий поток и перемещает текущую позицию внутри потока на число записанных байтов.Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(Inherited from Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken) WriteAsync(Byte[], Int32, Int32, CancellationToken) WriteAsync(Byte[], Int32, Int32, CancellationToken) WriteAsync(Byte[], Int32, Int32, CancellationToken)

Асинхронно записывает последовательность байтов в текущий поток, перемещает текущую позицию внутри потока на число записанных байтов и отслеживает запросы отмены.Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)
WriteByte(Byte) WriteByte(Byte) WriteByte(Byte) WriteByte(Byte)

Запись байта в текущую позицию в потоке файла.Writes a byte to the current position in the file stream.

Явные реализации интерфейса

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

Освобождает все ресурсы, используемые объектом Stream.Releases all resources used by the Stream.

(Inherited from Stream)

Методы расширения

GetAccessControl(FileStream) GetAccessControl(FileStream) GetAccessControl(FileStream) GetAccessControl(FileStream)
SetAccessControl(FileStream, FileSecurity) SetAccessControl(FileStream, FileSecurity) SetAccessControl(FileStream, FileSecurity) SetAccessControl(FileStream, FileSecurity)
AsInputStream(Stream) AsInputStream(Stream) AsInputStream(Stream) AsInputStream(Stream)

Преобразует управляемый поток в .NET для приложений Магазина Windows во входной поток в среде выполнения Windows.Converts a managed stream in the .NET for Windows Store apps to an input stream in the Windows Runtime.

AsOutputStream(Stream) AsOutputStream(Stream) AsOutputStream(Stream) AsOutputStream(Stream)

Преобразует управляемый поток в .NET для приложений Магазина Windows в поток вывода в среде выполнения Windows.Converts a managed stream in the .NET for Windows Store apps to an output stream in the Windows Runtime.

AsRandomAccessStream(Stream) AsRandomAccessStream(Stream) AsRandomAccessStream(Stream) AsRandomAccessStream(Stream)

Преобразует заданный поток в поток прямого доступа.Converts the specified stream to a random access stream.

Применяется к

Дополнительно