Partilhar via


Noções Básicas de E/S em Arquivos do .NET Framework e o Sistema de Arquivos

O namespace System.IO contém as classes File e Directory, que fornecem a funcionalidades do .NET Framework que manipulam arquivos e diretórios.Como os métodos desses objetos são estáticos ou membros compartilhados, você pode usá-los diretamente sem criar uma instância da classe primeiro.Associado com essas classes são as classes FileInfo e DirectoryInfo , que serão familiares aos usuários do recurso My.Para usar essas classes, você deve qualificar totalmente os nomes ou importar os namespaces apropriados, incluindo as declarações Imports no início do código afetado.Para obter mais informações, consulte Declaração Imports (Tipo e Namespace .NET).

Definição de um Fluxo

O .NET Framework usa fluxos para oferecer suporte à leitura e gravação em arquivos.Você pode pensar um fluxo como um conjunto unidimensional de dados contíguos, que tem início e fim, e onde o cursor indica a posição atual no fluxo.

Operações no Fluxo

Os dados contidos no fluxo podem vir da memória, de um arquivo, ou de um soquete TCP/IP.Fluxos têm operações fundamentais que podem ser aplicadas a eles:

  • Leitura.Você pode ler a partir de um fluxo, transferindo dados de fluxo em uma estrutura de dados, como uma sequência ou uma matriz de bytes.

  • Gravação.Você pode gravar em um fluxo, transferindo dados de uma fonte de dados para o fluxo.

  • Procurar.Você pode consultar e modificar sua posição no fluxo.

Para obter mais informações, consulte Compondo fluxos.

Tipos de Fluxos

No .NET Framework, um fluxo é representado pela classe Stream, que forma a classe abstrata para todos os outros fluxos.Você não pode criar diretamente uma instância da classe Stream, mas deve usar uma das classes que ela implementa.

Há muitos tipos de fluxos, mas para fins de trabalhar com arquivos entrada/saída (E/S), os tipos mais importantes são a classe FileStream, que fornece uma maneira de ler e gravar arquivos, e a classe IsolatedStorageFileStream, que fornece uma maneira de criar arquivos e pastas em armazenamento isolado.Outros fluxos que podem ser usados no trabalho de E/S em arquivo incluem:

A tabela a seguir lista as tarefas normalmente efetuadas com um fluxo:

Para

Consulte

Ler e gravar em um arquivo de dados

Como: Ler e gravar em um arquivo de dados recém criado

Ler um arquivo XML

Comum Tarefas XmlReader

Criar um gravador de fluxo para gravar texto em um arquivo

Criando um gravador

Ler texto de um arquivo

Como: Ler texto de um arquivo

Gravar texto em um arquivo

Como: Gravar texto em um arquivo

Ler caracteres uma sequência

Como: Caracteres de leitura de uma Cadeia de Caracteres

Gravar caracteres em uma sequência

Como: Gravar caracteres em um Cadeia de Caracteres

Criptografar dados

Criptografando dados

Descriptografar dados

Descriptografando dados

Acesso e Atributos de Arquivo

Você pode controlar como os arquivos são criados, aberto e compartilhada com as enumerações FileAccess,FileMode e FileShare, que contêm os sinalizadores usados pelos construtores de classe FileStream.Por exemplo, quando você abre ou cria um novo FileStream, a enumeração FileMode permite que você especifique se o arquivo é aberto para acrescentar, se um novo arquivo for criado se o arquivo especificado não existir, se o arquivo esta substituído e assim por diante.

A enumeração FileAttributes habilita a coleta de informações de específicas do arquivo.A enumeração FileAttributes retorna os atributos armazenados do arquivo, tais como se ele está compactado, criptografado, oculto, somente para leitura, um arquivo, um diretório, um arquivo de sistema, ou um arquivo temporário.

A tabela a seguir lista tarefas envolvendo acesso ao arquivo e atributos de arquivo:

Para

Consulte

Abrir e acrescentar texto em um arquivo de log

Como: Abrir e Acrescentar em um arquivo de log

Determinar os atributos de um arquivo

FileAttributes

Permissões de Arquivo

Controle do acesso a arquivos e pastas pode ser feito com a classe FileIOPermission.Isso pode ser especialmente importante para os desenvolvedores trabalhando com Web Forms, que por padrão executam dentro do contexto de uma conta de usuário local especial denominada ASPNET, que é criado como parte das instalações de ASP.NET e .NET Framework.Quando tal aplicativo solicita acesso a um recurso, a conta de usuário ASPNET tem permissões restritas, que podem impedir que o usuário execute ações como gravar em um arquivo de um aplicativo da Web.Para obter mais informações, consulte Permissões de segurança, Solicitando permissões e a FileIOPermission Class.

A tabela a seguir lista tarefas envolvendo permissões de arquivo.

Para

Consulte

Solicitar permissões mínimas

Como: Solicitar Permissão para Acessar Código Não-Gerenciado

Solicitar permissões opcionais

Como: Solicitar permissões opcionais usando o sinalizador RequestOptional

Recusar permissões

Como: Recusar permissões usando o sinalizador RequestRefuse

Solicitar permissões internas

Como: Solicitar Permissão para um Conjunto de Permissões Nomeadas

Solicitar permissões codificadas em XML

Solicitando permissões codificado em XML

Armazenamento Isolado de Arquivo

Armazenamento isolado é uma tentativa de resolver problemas criados quando trabalha-se com arquivos onde o usuário ou código podem carecer de permissões necessárias.Armazenamento isolado atribui a cada usuário um compartimento de dados, que pode conter um ou mais armazenamentos.Os armazenamentos podem ser isolados entre si por usuário e por assembly.Somente o usuário e o assembly que criou um armazenamento têm acesso a ele.Um armazenamento atua como um completo sistema de arquivos virtuais — em um armazenamento você pode criar e manipular diretórios e arquivos.

A tabela a seguir lista as tarefas comumente associadas ao armazenamento isolado de arquivo.

Para

Consulte

Criar um armazenamento isolado

Como: Obter armazenamento para o armazenamento isolado

Enumerar armazenamentos isolados

Como: Enumerar armazenamentos para o armazenamento isolado

Excluir um armazenamento isolado

Como: Armazenamentos de Excluir no armazenamento isolado

Criar um arquivo ou diretório no armazenamento isolado

Como: Criar arquivos e diretórios em armazenamento isolado

Localizar um arquivo no armazenamento isolado

Como: Localizar arquivos existentes e diretórios em armazenamento isolado

Ler ou gravar em um arquivo no armazenamento isolado

Como: Leitura e Gravar em arquivos no armazenamento isolado

Excluir um arquivo ou diretório no armazenamento isolado

Como: Excluir arquivos e pastas em armazenamento isolado

Eventos de Arquivo

O componente FileSystemWatcher permite-lhe observar alterações em arquivos e pastas em seu sistema ou em qualquer computador ao qual você tenha acesso pela rede.Por exemplo, se um arquivo for modificado, você pode desejar enviar ao usuário um alerta avisando que a alteração ocorreu.Quando ocorrem alterações, um ou mais eventos são gerados, armazenados em um buffer e enviados para o componente FileSystemWatcher para processamento.Para obter mais informações, consulte Respondendo aos eventos do sistema de arquivos.

Para

Consulte

Criar um manipulador para eventos do sistema de arquivos

Como: Criar manipuladores para eventos de sistema de arquivos

Configurar uma instância do componente FileSystemWatcher

Como: Configurar instâncias de componente FileSystemWatcher

Consulte também

Conceitos

Compondo fluxos

Arquivo básico de E/S

E/S de Arquivo Assíncrono

Classes Usadas na E/S de Arquivos no .NET Framework e o Sistema de Arquivos

Outros recursos

armazenamentos isolados