FileStream Classe
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece um Stream para um arquivo, dando suporte a operações de leitura e gravação síncronas e assíncronas.
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
- Herança
- Herança
- Derivado
- Atributos
O exemplo a seguir demonstra alguns dos construtores 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
O exemplo a seguir mostra como gravar em um arquivo de forma assíncrona. Esse código é executado em um aplicativo WPF que tem um TextBlock chamado UserInput e um botão conectado a um manipulador de eventos Click chamado Button_Click. O caminho do arquivo precisa ser alterado para um arquivo que existe no computador.
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
Para obter mais informações sobre essa API, consulte comentários de API Suplementar paraFileStream.
File |
Obsoleto.
Obsoleto.
Obsoleto.
Inicializa uma nova instância da classe FileStream para o identificador de arquivo especificado, com a permissão de leitura/gravação especificada. |
File |
Obsoleto.
Obsoleto.
Obsoleto.
Inicializa uma nova instância da classe FileStream para o identificador de arquivo especificado, com a permissão de leitura/gravação especificada e |
File |
Obsoleto.
Obsoleto.
Obsoleto.
Inicializa uma nova instância da classe FileStream para o identificador de arquivo especificado, com a permissão de leitura/gravação especificada, |
File |
Obsoleto.
Obsoleto.
Obsoleto.
Inicializa uma nova instância da classe FileStream para o identificador de arquivo especificado, com a permissão de leitura/gravação especificada, |
File |
Inicializa uma nova instância da classe FileStream para o identificador de arquivo especificado, com a permissão de leitura/gravação especificada. |
File |
Inicializa uma nova instância da classe FileStream para o identificador de arquivo especificado, com a permissão de leitura/gravação especificada e o tamanho do buffer. |
File |
Inicializa uma nova instância da classe FileStream para o identificador de arquivo especificado, com a permissão de leitura/gravação especificada, o tamanho do buffer e o estado síncrono ou assíncrono. |
File |
Inicializa uma nova instância da classe FileStream com o caminho e o modo de criação especificados. |
File |
Inicializa uma nova instância da classe FileStream com o caminho, o modo de criação e a permissão de leitura/gravação especificados. |
File |
Inicializa uma nova instância da classe FileStream com o caminho, o modo de criação, a permissão de leitura/gravação e a permissão de compartilhamento especificados. |
File |
Inicializa uma nova instância da classe FileStream com o caminho, o modo de criação, a permissão de leitura/gravação e compartilhamento especificados e o tamanho do buffer. |
File |
Inicializa uma nova instância da classe FileStream com o caminho especificado, o modo de criação, a permissão de leitura/gravação e compartilhamento, o tamanho do buffer e o estado síncrono ou assíncrono. |
File |
Inicializa uma nova instância da classe FileStream com o caminho especificado, o modo de criação, a permissão de leitura/gravação e compartilhamento, o acesso que outros FileStreams podem ter para o mesmo arquivo, o tamanho do buffer e opções de arquivo adicionais. |
File |
Inicializa uma nova instância da classe FileStream com o caminho, o modo de criação, os direitos de acesso e a permissão de compartilhamento especificados, o tamanho do buffer e opções de arquivo adicionais. |
File |
Inicializa uma nova instância da classe FileStream com o caminho, o modo de criação, os direitos de acesso e a permissão de compartilhamento especificados, o tamanho do buffer, opções de arquivo adicionais, controle de acesso e segurança de auditoria. |
File |
Inicializa uma nova instância da classe FileStream com o caminho especificado, o modo de criação, a permissão de leitura/gravação e compartilhamento, o tamanho do buffer, opções de arquivo adicionais, o tamanho da pré-alocação e o acesso que outros FileStreams podem ter para o mesmo arquivo. |
Can |
Obtém um valor que indica se o fluxo atual dá suporte à leitura. |
Can |
Obtém um valor que indica se o fluxo atual dá suporte à busca. |
Can |
Obtém um valor que determina se o fluxo atual pode acabar. (Herdado de Stream) |
Can |
Obtém um valor que indica se o fluxo atual dá suporte à gravação. |
Handle |
Obsoleto.
Obsoleto.
Obsoleto.
Obtém o identificador de arquivo do sistema operacional para o arquivo que o objeto |
Is |
Obtém um valor que indica se o |
Length |
Obtém o comprimento em bytes do fluxo. |
Name |
Obtém o caminho absoluto do arquivo aberto no |
Position |
Obtém ou define a posição atual desse fluxo. |
Read |
Obtém ou define um valor, em milissegundos, que determina quanto tempo o fluxo tentará ler antes do tempo limite. (Herdado de Stream) |
Safe |
Obtém um objeto SafeFileHandle que representa o identificador de arquivo do sistema operacional para o arquivo que o objeto FileStream atual encapsula. |
Write |
Obtém ou define um valor, em milissegundos, que determina por quanto tempo o fluxo tentará gravar antes do tempo limite. (Herdado de Stream) |
Begin |
Inicia uma operação de leitura assíncrona. Em vez disso, considere usar ReadAsync(Byte[], Int32, Int32, CancellationToken). |
Begin |
Inicia uma operação de leitura assíncrona. (Considere usar ReadAsync(Byte[], Int32, Int32) em vez disso.) (Herdado de Stream) |
Begin |
Inicia uma operação de gravação assíncrona. Em vez disso, considere usar WriteAsync(Byte[], Int32, Int32, CancellationToken). |
Begin |
Inicia uma operação de gravação assíncrona. (Considere usar WriteAsync(Byte[], Int32, Int32) em vez disso.) (Herdado de Stream) |
Close() |
Fecha o fluxo atual e libera todos os recursos (como soquetes e identificadores de arquivo) associados ao fluxo atual. |
Close() |
Fecha o fluxo atual e libera todos os recursos (como soquetes e identificadores de arquivo) associados ao fluxo atual. Em vez de chamar esse método, verifique se o fluxo foi descartado corretamente. (Herdado de Stream) |
Copy |
Lê os bytes do fluxo atual e os grava em outro fluxo. Ambas as posições de fluxos são avançadas pelo número de bytes copiados. (Herdado de Stream) |
Copy |
Fornece um Stream para um arquivo, dando suporte a operações de leitura e gravação síncronas e assíncronas. |
Copy |
Lê os bytes do fluxo atual e os grava em outro fluxo, usando um tamanho de buffer especificado. Ambas as posições de fluxos são avançadas pelo número de bytes copiados. (Herdado de Stream) |
Copy |
Lê assíncronamente os bytes do fluxo atual e os grava em outro fluxo. Ambas as posições de fluxos são avançadas pelo número de bytes copiados. (Herdado de Stream) |
Copy |
Lê assíncronamente os bytes do fluxo atual e os grava em outro fluxo, usando um token de cancelamento especificado. Ambas as posições de fluxos são avançadas pelo número de bytes copiados. (Herdado de Stream) |
Copy |
Lê de forma assíncrona os bytes do fluxo atual e os grava em outro fluxo, usando um tamanho de buffer especificado. Ambas as posições de fluxos são avançadas pelo número de bytes copiados. (Herdado de Stream) |
Copy |
Lê assíncronamente os bytes do fluxo de arquivos atual e os grava em outro fluxo, usando um token de cancelamento e tamanho de buffer especificado. |
Copy |
Lê assíncronamente os bytes do fluxo atual e os grava em outro fluxo, usando um token de cancelamento e tamanho de buffer especificado. Ambas as posições de fluxos são avançadas pelo número de bytes copiados. (Herdado de Stream) |
Create |
Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
Create |
Obsoleto.
Obsoleto.
Obsoleto.
Aloca um objeto WaitHandle. (Herdado de Stream) |
Dispose() |
Libera todos os recursos usados pelo Stream. (Herdado de Stream) |
Dispose(Boolean) |
Libera os recursos não gerenciados usados pelo FileStream e, opcionalmente, libera os recursos gerenciados. |
Dispose |
Libera de forma assíncrona os recursos não gerenciados usados pelo FileStream. |
Dispose |
Libera de forma assíncrona os recursos não gerenciados usados pelo Stream. (Herdado de Stream) |
End |
Aguarda a conclusão da operação de leitura assíncrona pendente. (Considere usar ReadAsync(Byte[], Int32, Int32, CancellationToken) em vez disso.) |
End |
Aguarda a conclusão da leitura assíncrona pendente. (Considere usar ReadAsync(Byte[], Int32, Int32) em vez disso.) (Herdado de Stream) |
End |
Encerra uma operação de gravação assíncrona e bloqueia até que a operação de E/S seja concluída. (Considere usar WriteAsync(Byte[], Int32, Int32, CancellationToken) em vez disso.) |
End |
Encerra uma operação de gravação assíncrona. (Considere usar WriteAsync(Byte[], Int32, Int32) em vez disso.) (Herdado de Stream) |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
Finalize() |
Garante que os recursos sejam liberados e outras operações de limpeza sejam executadas quando o coletor de lixo recuperar o |
Flush() |
Limpa os buffers desse fluxo e faz com que todos os dados em buffer sejam gravados no arquivo. |
Flush(Boolean) |
Limpa os buffers desse fluxo e faz com que todos os dados em buffer sejam gravados no arquivo e também limpa todos os buffers de arquivos intermediários. |
Flush |
Limpa de forma assíncrona todos os buffers para esse fluxo e faz com que todos os dados em buffer sejam gravados no dispositivo subjacente. (Herdado de Stream) |
Flush |
Limpa de forma assíncrona todos os buffers para esse fluxo, faz com que todos os dados em buffer sejam gravados no dispositivo subjacente e monitora solicitações de cancelamento. |
Flush |
Limpa de forma assíncrona todos os buffers para esse fluxo, faz com que todos os dados em buffer sejam gravados no dispositivo subjacente e monitora solicitações de cancelamento. (Herdado de Stream) |
Get |
Obtém um objeto FileSecurity que encapsula as entradas acl (lista de controle de acesso) para o arquivo descrito pelo objeto FileStream atual. |
Get |
Serve como a função de hash padrão. (Herdado de Object) |
Get |
Obsoleto.
Recupera o objeto de serviço de tempo de vida atual que controla a política de tempo de vida para essa instância. (Herdado de MarshalByRefObject) |
Get |
Obtém o Type da instância atual. (Herdado de Object) |
Initialize |
Obsoleto.
Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida dessa instância. (Herdado de MarshalByRefObject) |
Lock(Int64, Int64) |
Impede que outros processos leiam ou gravem no FileStream. |
Memberwise |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
Memberwise |
Cria uma cópia superficial do objeto MarshalByRefObject atual. (Herdado de MarshalByRefObject) |
Object |
Obsoleto.
Fornece suporte para um Contract. (Herdado de Stream) |
Read(Byte[], Int32, Int32) |
Lê um bloco de bytes do fluxo e grava os dados em um determinado buffer. |
Read(Span<Byte>) |
Lê uma sequência de bytes do fluxo de arquivos atual e avança a posição dentro do fluxo de arquivos pelo número de bytes lidos. |
Read(Span<Byte>) |
Quando substituído em uma classe derivada, lê uma sequência de bytes do fluxo atual e avança a posição dentro do fluxo pelo número de bytes lidos. (Herdado de Stream) |
Read |
Lê de forma assíncrona uma sequência de bytes do fluxo atual e avança a posição dentro do fluxo pelo número de bytes lidos. (Herdado de Stream) |
Read |
Lê de forma assíncrona uma sequência de bytes do fluxo de arquivos atual e os grava em uma matriz de bytes começando em um deslocamento especificado, avança a posição dentro do fluxo de arquivos pelo número de bytes lidos e monitora solicitações de cancelamento. |
Read |
Lê de forma assíncrona uma sequência de bytes do fluxo atual, avança a posição dentro do fluxo pelo número de bytes lidos e monitora solicitações de cancelamento. (Herdado de Stream) |
Read |
Lê de forma assíncrona uma sequência de bytes do fluxo de arquivos atual e os grava em uma região de memória, avança a posição dentro do fluxo de arquivos pelo número de bytes lidos e monitora solicitações de cancelamento. |
Read |
Lê de forma assíncrona uma sequência de bytes do fluxo atual, avança a posição dentro do fluxo pelo número de bytes lidos e monitora solicitações de cancelamento. (Herdado de Stream) |
Read |
Lê pelo menos um número mínimo de bytes do fluxo atual e avança a posição dentro do fluxo pelo número de bytes lidos. (Herdado de Stream) |
Read |
Lê de forma assíncrona pelo menos um número mínimo de bytes do fluxo atual, avança a posição dentro do fluxo pelo número de bytes lidos e monitora solicitações de cancelamento. (Herdado de Stream) |
Read |
Lê um byte do arquivo e avança a posição de leitura um byte. |
Read |
Lê |
Read |
Lê bytes do fluxo atual e avança a posição dentro do fluxo até que a |
Read |
Lê de forma assíncrona |
Read |
Lê bytes de forma assíncrona do fluxo atual, avança a posição dentro do fluxo até que o |
Seek(Int64, Seek |
Define a posição atual desse fluxo como o valor fornecido. |
Set |
Aplica entradas acl (lista de controle de acesso) descritas por um objeto FileSecurity ao arquivo descrito pelo objeto FileStream atual. |
Set |
Define o comprimento desse fluxo como o valor fornecido. |
To |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Unlock(Int64, Int64) |
Permite o acesso de outros processos a todos ou parte de um arquivo que foi bloqueado anteriormente. |
Write(Byte[], Int32, Int32) |
Grava um bloco de bytes no fluxo de arquivos. |
Write(Read |
Grava uma sequência de bytes de um intervalo somente leitura para o fluxo de arquivos atual e avança a posição atual dentro desse fluxo de arquivos pelo número de bytes gravados. |
Write(Read |
Quando substituído em uma classe derivada, grava uma sequência de bytes no fluxo atual e avança a posição atual dentro desse fluxo pelo número de bytes gravados. (Herdado de Stream) |
Write |
Grava de forma assíncrona uma sequência de bytes no fluxo atual e avança a posição atual dentro desse fluxo pelo número de bytes gravados. (Herdado de Stream) |
Write |
Grava de forma assíncrona uma sequência de bytes no fluxo atual, avança a posição atual dentro desse fluxo pelo número de bytes gravados e monitora solicitações de cancelamento. |
Write |
Grava de forma assíncrona uma sequência de bytes no fluxo atual, avança a posição atual dentro desse fluxo pelo número de bytes gravados e monitora solicitações de cancelamento. (Herdado de Stream) |
Write |
Grava de forma assíncrona uma sequência de bytes de uma região de memória no fluxo de arquivos atual, avança a posição atual nesse fluxo de arquivos pelo número de bytes gravados e monitora solicitações de cancelamento. |
Write |
Grava de forma assíncrona uma sequência de bytes no fluxo atual, avança a posição atual dentro desse fluxo pelo número de bytes gravados e monitora solicitações de cancelamento. (Herdado de Stream) |
Write |
Grava um byte na posição atual no fluxo de arquivos. |
IDisposable. |
Libera todos os recursos usados pelo Stream. (Herdado de Stream) |
Get |
Retorna as informações de segurança de um arquivo. |
Set |
Altera os atributos de segurança de um arquivo existente. |
Copy |
Lê assíncronamente os bytes do Stream e os grava no PipeWriterespecificado usando um token de cancelamento. |
As |
Converte um fluxo gerenciado no .NET para aplicativos da Windows Store em um fluxo de entrada no Windows Runtime. |
As |
Converte um fluxo gerenciado no .NET para aplicativos da Windows Store em um fluxo de saída no Windows Runtime. |
As |
Converte o fluxo especificado em um fluxo de acesso aleatório. |
Configure |
Configura como as esperas nas tarefas retornadas de um descartável assíncrono serão executadas. |
Produto | Versões |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: