Post on 08-Apr-2018
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