A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Arquivos. 2 Namespace System.IO Toda as classes relacionadas com dispositivos de entrada e saída encontram-se em System.IO Incluir no início do programa:

Apresentações semelhantes


Apresentação em tema: "Arquivos. 2 Namespace System.IO Toda as classes relacionadas com dispositivos de entrada e saída encontram-se em System.IO Incluir no início do programa:"— Transcrição da apresentação:

1 Arquivos

2 2 Namespace System.IO Toda as classes relacionadas com dispositivos de entrada e saída encontram-se em System.IO Incluir no início do programa: using System.IO ;

3 3 Classe File e FileInfo Classe File apresenta apenas métodos estáticos Classe FileInfo representa um arquivo em particular

4 4 Classes Directory e DirectoryInfo Classe Directory apresenta apenas métodos estáticos Classe DirectoryInfo representa um arquivo em particular

5 5 Streams (Fluxos) Representa um fluxo de informações A origem e o destino são escondidos do programador (ele só precisa escrever e ler do stream – o stream estará associado a um arquivo)

6 6 Diferenças entre arquivos texto e binários Arquivos textos contêm dados textuais que são geralmente criados através da adição de cadeia de caracteres (strings). Todas as linhas de um arquivo texto terminam com um caractere de newline (nova linha). No Windows, a representação do newline é o caracter '\n' representado como uma combinação de retorno de carro (carriage return) e pula linha (line feed) Arquivos binários contém a representação binária dos dados. Suponha que queiramos gravar o valor de uma variável inteira que possua o número 50 armazenado nela. Como cada inteiro ocupa 4 bytes, teríamos a gravação do número 32 00 00 00 (50 = 0x32)

7 7 Hierarquia de Classes System.Object System.IO.Directory MarshallByRefObject System.FileSystemInfo System.IO.FileInfo System.IO.DirectoryInfo System.IO.File System.IO.Path

8 8 Hierarquia de Classes System.Object –System.MarshallByReference System.IO.Stream –System.IO.BufferedStream –System.IO.MemoryStream –System.IO.FileStream System.IO.TextReader –System.IO.StreamReader –System.IO.StringReader System.IO.TextWriter –System.IO.StreamWriter –System.IO.StringWriter –System.IO.BinaryWriter –System.IO.BinaryReader

9 9 Arquivos Texto Classes: StreamReader usada para leitura de arquivo texto StreamWriter usada para escrita de arquivo texto

10 10 Arquivos Binários Classes BinaryReader leitura de arquivo binário BinaryWriter gravação de arquivo binário

11 11 Arquivo Nome: nome do arquivo Modo: criação, abertura, abertura ou criação Tipo de Acesso: leitura, escrita, leitura / escrita

12 12 Enumerações FileMode e FileAccess FileMode FileMode.Append FileMode.Create FileMode.CreateNew FileMode.Open FileMode.OpenOrCreate FileMode.Truncate FileAccess FileAccess.Read FileAccess.Write FileAccess.ReadWrite

13 13 Conjuntos de caracteres ASCII Unicode UTF7 formato Unicode de 7 bits UTF-8 é um formato Unicode de 8 bits que é compatível com o conjunto de caracteres ASCII

14 14 Classe FileStream FileStream(string nome, FileMode modo, FileAccess acesso) onde: nome: nome do arquivo modo: append, create, createNew, open, OpenOrCreate, Truncate acesso: read, write, ReadWrite

15 15 Enum FileMode Especifica como o Sistema Operacional deve abrir um arquivo. FileMode.Append FileMode.Create FileMode.CreateNew FileMode.Open FileMode.OpenOrCreate FileMode.Truncate

16 16 Enum FileMode Append abre o arquivo, se ele existir e vai até seu final ou cria um novo arquivo Create SO deve cria um novo arquivo. Se o arquivo já existir ele será sobreescrito CreateNew SO deve criar novo arquivo Open SO deve abrir um arquivo existente. Uma exceção será lançada se o arquivo não existir OpenOrCreate SO deve abrir o arquivo se ele existir. Caso contrário, um novo arquivo será criado Truncate SO deve abrir um arquivo existente. Uma vez aberto, ele será truncado de forma a ter 0 bytes

17 17 Enum FileAccess Define constantes para leitura, escrita e leitura/escrita FileAccess.Read FileAccess.Write FileAccess.ReadWrite

18 18 Exemplos Criação de um arquivo de log; dados são anexados ao final do arquivo; se o arquivo não existir ele será criado Exemplo: FileStream log = new FileStream("log.txt",FileMode.Append,File Access.Write);

19 19 Leitura e Escrita de Arquivos Texto StreamReader leitura de um arquivo texto StreamWriter escrita de um arquivo texto

20 20 Gravação de um arquivo texto abertura do arquivo para escrita escrita das informações fechamento do arquivo

21 21 Exemplo de Escrita FileStream arq = new FileStream("tabuada.txt", FileMode.Create); StreamWriter writer = new StreamWriter(arq); writer.WriteLine("Tabuada"); writer.WriteLine(); for (int i = 1; i < 10; i++) { for (int j = 1; j <= 10; j++) { writer.WriteLine("{0,2} x {1,2} = {2,2}", i, j, i * j); } writer.WriteLine(); } writer.Close(); arq.Close();

22 22 Leitura de um arquivo texto abertura do arquivo para leitura leitura das informações fechamento do arquivo

23 23 Exemplo de Leitura FileStream arq = new FileStream("tabuada.txt", FileMode.Open); StreamReader reader = new StreamReader(arq); string linha; do { linha = reader.ReadLine(); if (linha != null) { Console.WriteLine(linha); } } while (linha != null); reader.Close(); arq.Close();

24 24 Arquivos Binários Leitura de um arquivo binário Escrita de um arquivo binário

25 25 Classe StringBuffer Representa uma cadeia de caracteres que poderá ser modificada Exemplo: StringBuilder sb = new StringBuilder(); sb.Append("a"); // a sb.Append("b"); // ab int i = 5; sb.AppendFormat("{0,4:X2}",i);

26 26 Exemplo – File.Exists() using System; using System.IO; class Test { public static void Main() { string origem = @"c:\tests\Test.txt"; string destino = @"c:\tests\Test2.txt"; if (File.Exists(origem)) { File.Copy(origem, destino); } else { Console.WriteLine("Arquivo orugem não existe."); }

27 27 File – alguns métodos AppendAllText() AppendText Copy Create CreateText Delete Exists GetCreationTime Move Open OpenRead OpenText OpenWrite

28 28 Directory – Alguns métodos CreateDirectory Delete Exists GetCreationTime GetCurrentDirectory GetFiles GetLastAccesTime GetLastWriteTime GetParent Move SetCreationTime SetLastWriteTime

29 29 BACKUP

30 30 Comandos de Formatação do Código Para formatar o código –Edit / Advanced / Format Document –Tecla de Atalho: Ctrl+E,D Para "colapsar" (aglutinar) o código –Edit / Outiling / Collapse to Definitions –Tecla de Atalho: Ctrl+M,O

31 31 Outiling Edit / Outlining

32 32 Classes File e Directory

33 33 Path A classe Path permite manipular de forma simples as strings que representam os arquivos e diretórios

34 34 System.IO.Stream

35 35 System.IO.BufferedStream

36 36 System.IO.MemoryStream

37 37 System.IO.FileStream

38 38 System.IO.StreamReader

39 39 System.IO.StringReader

40 40 System.IO.StreamWriter

41 41 System.IO.StringWriter

42 42 System.IO.BinaryReader

43 43 System.IO.BinaryWriter

44 44 Arquivos Sequenciais Novas informações são adicionadas ao final do arquivo os registros podem ter tamanhos diferentes para atingir um determinado ponto do arquivo é necessário ler todo arquivo até aquele ponto atualizações de informações no meio do arquivo são difíceis são usados geralmente para guardar informações que são raramente editatas ou atualizadas (emails, arquivos de logs de erros, documentos, cartas)

45 45 Arquivos Aleatórios Baseados no conceito de registros de tamanhos fixos todos os registros deverão ter o mesmo tamanho usados quando há necessidade frequente de alterações de informações registros podem ser acessados de forma rápida


Carregar ppt "Arquivos. 2 Namespace System.IO Toda as classes relacionadas com dispositivos de entrada e saída encontram-se em System.IO Incluir no início do programa:"

Apresentações semelhantes


Anúncios Google