C# - E/S de arquivo
Um arquivo é uma coleção de dados armazenados em um disco com um nome específico e um caminho de diretório. Quando um arquivo é aberto para leitura ou escrita, ele se torna um fluxo .
O fluxo é basicamente a sequência de bytes que passa pelo caminho de comunicação. Existem dois fluxos principais:o fluxo de entrada e o fluxo de saída . O fluxo de entrada é usado para ler dados do arquivo (operação de leitura) e o fluxo de saída é usado para escrever no arquivo (operação de gravação).
Aulas de E/S C#
O namespace System.IO tem várias classes que são usadas para realizar inúmeras operações com arquivos, como criar e excluir arquivos, ler ou gravar em um arquivo, fechar um arquivo etc.
A tabela a seguir mostra algumas classes não abstratas comumente usadas no namespace System.IO −
Nº Sr. | Classe e descrição de E/S |
---|---|
1 | Leitor Binário Lê dados primitivos de um fluxo binário. |
2 | BinaryWriter Grava dados primitivos em formato binário. |
3 | Stream em buffer Um armazenamento temporário para um fluxo de bytes. |
4 | Diretório Ajuda na manipulação de uma estrutura de diretórios. |
5 | Informações do diretório Usado para executar operações em diretórios. |
6 | Informações do Drive Fornece informações para as unidades. |
7 | Arquivo Ajuda na manipulação de arquivos. |
8 | Informações do arquivo Usado para realizar operações em arquivos. |
9 | FileStream Usado para ler e gravar em qualquer local em um arquivo. |
10 | MemoryStream Usado para acesso aleatório a dados transmitidos armazenados na memória. |
11 | Caminho Executa operações em informações de caminho. |
12 | Leitor de fluxo Usado para ler caracteres de um fluxo de bytes. |
13 | StreamWriter É usado para gravar caracteres em um fluxo. |
14 | Leitor de seqüências É usado para leitura de um buffer de string. |
15 | StringWriter É usado para gravar em um buffer de string. |
A classe FileStream
O FileStream class no namespace System.IO ajuda na leitura, gravação e fechamento de arquivos. Essa classe deriva da classe abstrata Stream.
Você precisa criar um FileStream objeto para criar um novo arquivo ou abrir um arquivo existente. A sintaxe para criar um FileStream objeto é o seguinte -
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);
Por exemplo, criamos um objeto FileStream F para ler um arquivo chamado sample.txt conforme mostrado −
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
Nº Sr. | Parâmetro e descrição |
---|---|
1 | Modo de arquivo O Modo Arquivo enumerator define vários métodos para abrir arquivos. Os membros do enumerador FileMode são −
|
2 | Acesso a Arquivo Acesso a Arquivo enumeradores têm membros:Ler , LerGravar e Escrever . |
3 | Compartilhamento de arquivos Compartilhamento de arquivos enumeradores têm os seguintes membros -
|
Exemplo
O programa a seguir demonstra o uso do FileStream classe -
Demonstração ao vivo
using System; using System.IO; namespace FileIOApplication { class Program { static void Main(string[] args) { FileStream F = new FileStream("test.dat", FileMode.OpenOrCreate, FileAccess.ReadWrite); for (int i = 1; i <= 20; i++) { F.WriteByte((byte)i); } F.Position = 0; for (int i = 0; i <= 20; i++) { Console.Write(F.ReadByte() + " "); } F.Close(); Console.ReadKey(); } } }
Quando o código acima é compilado e executado, ele produz o seguinte resultado -
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1
Operações avançadas de arquivo em C#
O exemplo anterior fornece operações de arquivo simples em C#. No entanto, para utilizar os imensos poderes das classes C# System.IO, você precisa conhecer as propriedades e métodos comumente usados dessas classes.
Nº Sr. | Tópico e descrição |
---|---|
1 | Ler e escrever em arquivos de texto Envolve ler e escrever em arquivos de texto. O StreamReader e StreamWriter classe ajuda a realizá-lo. |
2 | Ler e escrever em arquivos binários Envolve ler e escrever em arquivos binários. O BinaryReader e BinaryWriter classe ajuda a fazer isso. |
3 | Manipulação do sistema de arquivos do Windows Dá a um programador C# a capacidade de navegar e localizar arquivos e diretórios do Windows. |
Linguagem C