.NET - POO - C#.NET - Aula 02 - Input/Output (IO)

download .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

of 28

Transcript of .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    1/28

    .NET POO C# .NET

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    2/28

    Objetivo Viso Geral Navegando Sistema Arquivos Lendo e Gravando Arquivos Concluso

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    3/28

    Capacitar o aluno no uso dos recursos entrada e sada (IO)

    oferecidos pela plataforma .NET.

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    4/28

    O namespace System.IO prov um conjunto de classes ler e gravar

    arquivos, cria e remover pastas, obter informaes etc.

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    5/28

    Quaissosas classes que representamostermos que

    utilizamosaoacessarosistema dearquivos?

    o Classe FileSystemInfo

    o Classe FileInfo

    o Classe DirectoryInfo

    o Classe DriveInfo

    o Classe Path

    o Classe FileSystemWatcher

    o Enumerado DriveType

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    6/28

    Classe FileSystemInfo

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    7/28

    Classe FileInfo

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    8/28

    Comoobterinformaes deumarquivo?

    FileInfo ourFile = new FileInfo(@"c:\lista.txt");

    if (ourFile.Exists){

    Console.WriteLine("Filename: {0}", ourFile.Name);Console.WriteLine("Path: {0}", ourFile.FullName);

    }

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    9/28

    Como copiarumarquivo?

    FileInfo ourFile = new FileInfo(@"c:\teste.txt");

    ourFile.CopyTo(@"c:\teste.bak");

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    10/28

    Classe DirectoryInfo

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    11/28

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    12/28

    Classe DriveInfo /Enumerado DriveType

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    13/28

    Como listaros drives deum computador?

    DriveInfo[] drives = DriveInfo.GetDrives();

    foreach (DriveInfo drive in drives){Console.WriteLine("Drive: {0}", drive.Name);Console.WriteLine("Type: {0}", drive.DriveType);

    }

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    14/28

    Classe Path

    Permite obter uma srie deInformaes sobre o caminho.

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    15/28

    Comomudaraextenso deumarquivo?

    string ourPath = @"c:\temp\teste.txt";

    Console.WriteLine(ourPath);

    Console.WriteLine("Ext: {0}", Path.GetExtension(ourPath));

    Console.WriteLine("Change Path: {0}",

    Path.ChangeExtension(ourPath, "bak"));

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    16/28

    Classe FileSystemWatcher

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    17/28

    Comomonitorarasmudanasemum diretrio?

    FileSystemWatcher watcher = new FileSystemWatcher();

    watcher.Path = @"c:\temp;

    watcher.Created += new FileSystemEventHandler(watcher_Changed);

    watcher.Deleted += new FileSystemEventHandler(watcher_Changed);

    watcher.EnableRaisingEvents = true;

    static void watcher_Changed(object sender, FileSystemEventsArgs e){

    Console.WriteLine("Directory changed({0}): {1}",

    e.ChangeType, e.FullPath);

    }

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    18/28

    Quaissosas classes que representamosistema de

    arquivos?

    o Classe File

    o Classe Directory

    o Enumerado FileAccess

    o Enumerado FileMode

    o Classe StreamReader

    o Classe StreamWriter

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    19/28

    Classe File

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    20/28

    Classe Directory

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    21/28

    Enumerado FileAccess

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    22/28

    Enumerado FileMode

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    23/28

    Classe StreamReader

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    24/28

    Classe StreamWriter

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    25/28

    Como ler deumarquivo?

    StreamReader rdr = File.OpenText(@"c:\temp\lista_itens.txt");

    while (!rdr.EndOfStream){

    string line = rdr.ReadLine();

    if (line.Contains("valor")){

    Console.WriteLine("Linha: ");Console.WriteLine(line);

    }}

    //Fecha o acesso ao arquivordr.Close();

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    26/28

    Comoescreveremumarquivo?

    //Criando o contedo do arquivoMemoryStream memStream = new MemoryStream();StreamWriter writer = new StreamWriter(memStream);writer.WriteLine("Hello World");writer.WriteLine("GoodBye");writer.Flush();

    //Criando o arquivo para armazenamento do contedoFileInfo theFile = File.CreateText(@"c:\teste\lista.txt");memStream.WriteTo(theFile);

    //Liberando recursos, incluindo o fechamento do uso do arquivowriter.Close();theFile.Close();memStream.Close();

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    27/28

    Podemos com esta poderosa API, escrever e ler arquivos

    facilmente, bem como ter acesso aos diversos dispositivos

    de um computador;

    Ao abrir um arquivo tenha muita ateno da necessidade do

    uso do modo de uso, logo utilize com muita ateno os

    enumerados FileAccess e FileMode.

    Podemos utilizar a classe FileSystemWatcher para

    monitorar os acessos a um determinada pasta (e suas

    subpastas).

  • 8/7/2019 .NET - POO - C#.NET - Aula 02 - Input/Output (IO)

    28/28

    .NET POO C# .NET