Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As classes no System.IO namespace são usadas para trabalhar com unidades, arquivos e diretórios.
O namespace System.IO contém as classes File e Directory, que fornecem a funcionalidade do .NET Framework que manipula arquivos e diretórios. Como os métodos desses objetos são membros estáticos ou compartilhados, você pode usá-los diretamente sem criar uma instância da classe primeiro. Associadas a essas classes estão as classes FileInfo e DirectoryInfo, que serão familiares aos usuários do recurso My. Para usar essas classes, você deve especificar completamente os nomes ou importar os namespaces apropriados, incluindo a instrução Imports no início do código afetado. Para obter mais informações, consulte Instrução Imports (tipo e namespace .NET).
Observação
Outros tópicos nesta seção usam o My.Computer.FileSystem objeto em vez de System.IO classes para trabalhar com unidades, arquivos e diretórios. O My.Computer.FileSystem objeto destina-se principalmente ao uso em programas do Visual Basic.
System.IO as classes são destinadas a uso por qualquer linguagem que dê suporte ao .NET Framework, incluindo o Visual Basic.
Definição de um fluxo
O .NET Framework usa fluxos para dar suporte à leitura e gravação em arquivos. Você pode pensar em um fluxo como um conjunto unidimensional de dados contíguos, que tem um início e um fim, e onde o cursor indica a posição atual no fluxo.
Operações de fluxo
Os dados contidos no fluxo podem vir da memória, de um arquivo ou de um soquete TCP/IP. Os fluxos têm operações fundamentais que podem ser aplicadas a eles:
Leitura. Você pode ler de um fluxo, transferindo dados do fluxo para uma estrutura de dados, como uma cadeia de caracteres ou uma matriz de bytes.
Escrevendo. Você pode gravar em um fluxo, transferindo dados de uma fonte de dados para o fluxo.
Buscando. Você pode consultar e modificar a sua posição no fluxo.
Para obter mais informações, consulte Compondo Fluxos.
Tipos de fluxos
No .NET Framework, um fluxo é representado pela Stream classe, que forma a classe abstrata para todos os outros fluxos. Você não pode criar diretamente uma instância da Stream classe, mas deve usar uma das classes que ela implementa.
Há muitos tipos de fluxos, mas para trabalhar com entrada/saída de arquivo (E/S), os tipos mais importantes são a FileStream classe, que fornece uma maneira de ler e gravar em arquivos e a IsolatedStorageFileStream classe, que fornece uma maneira de criar arquivos e diretórios no armazenamento isolado. Outros fluxos que podem ser usados ao trabalhar com E/S de arquivo incluem:
A tabela a seguir lista tarefas normalmente realizadas com um fluxo:
| Para | Veja |
|---|---|
| Ler e gravar em um arquivo de dados | Como ler e gravar em um arquivo de dados recém-criado |
| Ler texto de um arquivo | Como ler texto de um arquivo |
| Gravar texto em um arquivo | Como gravar texto em um arquivo |
| Ler caracteres de uma cadeia de caracteres | Como ler caracteres de uma cadeia de caracteres |
| Escrever caracteres em uma string | Como gravar caracteres em uma cadeia de caracteres |
| Criptografar dados | Criptografando dados |
| Descriptografar dados | Descriptografar dados |
Acesso a arquivos e atributos
Você pode controlar como os arquivos são criados, abertos e compartilhados com as enumerações FileAccess, FileMode e FileShare, que contêm os sinalizadores usados pelos construtores da classe FileStream. Por exemplo, quando você abre ou cria um novo FileStream, a FileMode enumeração permite especificar se o arquivo é aberto para anexação, se um novo arquivo é criado se o arquivo especificado não existe, se o arquivo é substituído e assim por diante.
A FileAttributes enumeração permite a coleta de informações específicas do arquivo. A FileAttributes enumeração retorna os atributos armazenados do arquivo, como se ele é compactado, criptografado, oculto, somente leitura, um arquivo morto, um diretório, um arquivo do sistema ou um arquivo temporário.
A tabela a seguir lista as tarefas que envolvem acesso a arquivos e atributos de arquivo:
| Para | Veja |
|---|---|
| Abrir e acrescentar texto a um arquivo de log | Como abrir e acrescentar a um arquivo de log |
| Determinar os atributos de um arquivo | FileAttributes |
Permissões de arquivo
O controle do acesso a arquivos e diretórios pode ser feito com a FileIOPermission classe. Isso pode ser particularmente importante para desenvolvedores que trabalham com Web Forms, que por padrão são executados no contexto de uma conta de usuário local especial chamada ASPNET, que é criada como parte das instalações do ASP.NET e do .NET Framework. Quando esse aplicativo solicita acesso a um recurso, a conta de usuário do ASPNET tem permissões limitadas, o que pode impedir que o usuário execute ações como gravar em um arquivo de um aplicativo Web. Para obter mais informações, consulte FileIOPermission.
Armazenamento de Arquivos Isolado
O armazenamento isolado é uma tentativa de resolver problemas criados ao trabalhar com arquivos em que o usuário ou o código pode não ter as permissões necessárias. O armazenamento isolado atribui a cada usuário um compartimento de dados, que pode conter um ou mais repositórios. Os repositórios podem ser isolados uns dos outros, por usuário e por assembly. Somente o usuário e o assembly que criou um repositório tem acesso a ele. Um repositório atua como um sistema de arquivos virtual completo, dentro de um repositório, você pode criar e manipular diretórios e arquivos.
A tabela a seguir lista tarefas comumente associadas ao armazenamento de arquivos isolado.
| Para | Veja |
|---|---|
| Criar um repositório isolado | Como obter repositórios para armazenamento isolado |
| Enumerar lojas isoladas | Como enumerar repositórios para armazenamento isolado |
| Excluir uma loja isolada | Como excluir repositórios no armazenamento isolado |
| Criar um arquivo ou diretório no armazenamento isolado | Como criar arquivos e diretórios no armazenamento isolado |
| Localizar um arquivo no armazenamento isolado | Como localizar arquivos e diretórios existentes no armazenamento isolado |
| Ler ou gravar em um arquivo no armazenamento isolado | Como ler e gravar em arquivos no armazenamento isolado |
| Excluir um arquivo ou diretório no armazenamento isolado | Como excluir arquivos e diretórios no armazenamento isolado |
Eventos de arquivo
O FileSystemWatcher componente permite que você observe as alterações em arquivos e diretórios em seu sistema ou em qualquer computador ao qual você tenha acesso à rede. Por exemplo, se um arquivo for modificado, convém enviar a um usuário um alerta de que a alteração ocorreu. Quando ocorrem alterações, um ou mais eventos são gerados, armazenados em um buffer e entregues ao FileSystemWatcher componente para processamento.