C # - Arquivo I / O
UMA fileé 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 gravação, ele se torna umstream.
O fluxo é basicamente a sequência de bytes que passam pelo caminho de comunicação. Existem dois fluxos principais: oinput stream e a output stream. o input stream é usado para ler dados do arquivo (operação de leitura) e o output stream é usado para gravar no arquivo (operação de gravação).
Aulas C # I / O
O namespace System.IO tem várias classes que são usadas para realizar várias 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 -
Sr. Não. | Classe e descrição de E / S |
---|---|
1 | BinaryReader Lê dados primitivos de um fluxo binário. |
2 | BinaryWriter Grava dados primitivos em formato binário. |
3 | BufferedStream Um armazenamento temporário para um fluxo de bytes. |
4 | Directory Ajuda na manipulação de uma estrutura de diretório. |
5 | DirectoryInfo Usado para executar operações em diretórios. |
6 | DriveInfo Fornece informações para as unidades. |
7 | File Ajuda na manipulação de arquivos. |
8 | FileInfo Usado para executar operações em arquivos. |
9 | FileStream Usado para ler e gravar em qualquer local de um arquivo. |
10 | MemoryStream Usado para acesso aleatório a dados transmitidos armazenados na memória. |
11 | Path Executa operações nas informações do caminho. |
12 | StreamReader Usado para ler caracteres de um fluxo de bytes. |
13 | StreamWriter É usado para escrever caracteres em um fluxo. |
14 | StringReader É usado para leitura de um buffer de string. |
15 | StringWriter É usado para escrever em um buffer de string. |
A classe FileStream
o FileStreamclasse no namespace System.IO ajuda na leitura, gravação e fechamento de arquivos. Esta classe deriva da classe abstrata Stream.
Você precisa criar um FileStreamobjeto para criar um novo arquivo ou abrir um arquivo existente. A sintaxe para criar umFileStream 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 as shown -
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read,
FileShare.Read);
Sr. Não. | Parâmetro e Descrição |
---|---|
1 | FileMode o FileModeenumerator define vários métodos para abrir arquivos. Os membros do enumerador FileMode são -
|
2 | FileAccess FileAccess enumeradores têm membros: Read, ReadWrite e Write. |
3 | FileShare FileShare enumeradores têm os seguintes membros -
|
Exemplo
O programa a seguir demonstra o uso do FileStream classe -
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 de arquivo avançadas 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.
Sr. Não. | Tópico e Descrição |
---|---|
1 | Ler e escrever em arquivos de texto Envolve ler e escrever em arquivos de texto. oStreamReader e StreamWriter classe ajuda a realizá-lo. |
2 | Ler e gravar em arquivos binários Envolve a leitura e a gravação em arquivos binários. oBinaryReader e BinaryWriter classe ajuda a fazer isso. |
3 | Manipulando o sistema de arquivos do Windows Ele dá ao programador C # a capacidade de navegar e localizar arquivos e diretórios do Windows. |