• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Algoritmos e Programação - 2013.1 - Aula 17
 

Algoritmos e Programação - 2013.1 - Aula 17

on

  • 710 views

Algoritmos e Programação - 2013.1 - Aula 17

Algoritmos e Programação - 2013.1 - Aula 17

Statistics

Views

Total Views
710
Views on SlideShare
710
Embed Views
0

Actions

Likes
0
Downloads
16
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Algoritmos e Programação - 2013.1 - Aula 17 Algoritmos e Programação - 2013.1 - Aula 17 Presentation Transcript

    • Algoritmos e ProgramaçãoProf.º Thyago MaiaProf.  Thyago Maia2013.1
    • Aula 17Objetivos• Apresentar as classes e métodos necessários para a leitura e escrita pde arquivos em Java;2
    • ArquivosArquivos
    • Arquivosq• Existem diversas classes em Java para o controle da entrada e saída de arquivos;q– Todas pertencentes ao pacote de classes java.io;• Como o referido curso é introdutório, serão apresentadas as classes mais simples;
    • Declaração de ArquivosDeclaração de Arquivos
    • Declaração de Arquivosç q• Em Java, para trabalharmos com arquivos, precisamos instanciar um objeto que represente um caminho abstrato entre a classe e o arquivo;• Para isso, utilizamos a classe File: File arquivo = new File("C:/arquivo.txt");• Deve‐se importar a classe File para que a mesma possa ser instanciadapossa ser instanciada:import java io File;import java.io.File;
    • // Exemploimport java.io.File;public class principal {public static void main(String[] args) {public static void main(String[] args) {File arquivo = new File("C:/arquivo.txt");// Checa se o arquivo existeif(arquivo.exists())S t t i tl ("A i i t t ")System.out.println("Arquivo existente");elseSystem.out.println("Arquivo não existe");}}
    • Escrita em ArquivosEscrita em Arquivos
    • Escrita em Arquivosq• Em Java, para gravar uma cadeia de caracteres em arquivos, precisamos instanciar um objeto q p jque funcione como um “escritor” de arquivos;• Tal objeto fará acesso ao objeto da classe File• Tal objeto fará acesso ao objeto da classe File (que representa o arquivo em si)• Para a criação do escritor, utilizamos a classe FileWriter:FileWriter: FileWriter escritor = new FileWriter(arquivo, true);FileWriter escritor new FileWriter(arquivo, true);
    • Escrita em Arquivosq• O segundo parâmetro da função indica se o conteúdo textual a ser inserido será adicionado ao conteúdo já existente no arquivo (true) ou se irá sobrescrevê‐lo (false);• Deve‐se importar as classes FileWriter para que a mesma possa ser instanciada;• A classe IOException também deverá ser importada, para que seja possível o lançamento de exceções;p q j p ç ç ;import java.io.FileWriter;Import java.io.IOException;
    • // Exemploimport java io File;import java.io.File;import java.io.FileWriter;import java.io.IOException;public class principal{public static void main(String[] args) throwsIOException {File arq = new File("C:/arquivo.txt");FileWriter escritor = new FileWriter(arq, true);( q, );// Método para a escrita em arquivosescritor write(“Texto a ser gravadon”);escritor.write( Texto a ser gravadon );// Após a gravação, o escritor deve ser fechadoescritor.close();}}}
    • Leitura de ArquivosLeitura de Arquivos
    • Leitura de Arquivosq• Em Java, para ler uma cadeia de caracteres em arquivos, precisamos instanciar um objeto que q p j qfuncione como um “leitor” de arquivos;• Tal objeto fará acesso ao objeto da classe File• Tal objeto fará acesso ao objeto da classe File (que representa o arquivo em si)• Para a criação do leitor, utilizamos a classe FileReader:FileReader: FileReader leitor = new FileReader(arquivo);FileReader leitor new FileReader(arquivo);
    • Leitura de Arquivosq• Deve‐se importar a classe FileReader para que a mesma possa ser instanciada, além da classe pIOException para o tratamento de exceções:i j i il dimport java.io.FileReader;Import java.io.IOException;• Os dados lidos deverão ser armazenados em um vetor de caracteres Exemplo:um vetor de caracteres. Exemplo:char dados[] = new char[100];char dados[] new char[100];
    • // Exemploimport java.io.File;import java io FileReader;import java.io.FileReader;import java.io.IOException;public class principal {public static void main(String[] args) throwsIOException {File arq = new File("C:/arquivo.txt");FileReader leitor = new FileReader(arq);char dados[] = new char[100];// Método para a leitura de arquivosleitor.read(dados);System out println(dados);System.out.println(dados);// Após a leitura, o leitor deve ser fechadoleitor close();leitor.close();}}
    • ExercícioExercício
    • Exercício• Faça um programa em Java que leia o nome de 5 pessoas, armazenando‐os em um parquivo. Em seguida, o programa deverá exibir todos os nomes cadastrados no arquivo;todos os nomes cadastrados no arquivo;
    • Acesso Aleatório em ArquivosAcesso Aleatório em Arquivos
    • Acesso Aleatório em Arquivos• Em arquivos, quando necessitamos tratar vários tipos de dados ou acessar linhas específicas, precisamos trabalhar com acesso aleatório;• Para isso, utilizamos a classe RandomAccessFile: RandomAccessFile acesso = new RandomAccessFile(arq, “rw”);• Deve‐se importar a classe RandomAccessFile para que a mesma possa ser instanciada além da classeque a mesma possa ser instanciada , além da classe IOException para o tratamento de exceções: import java.io.RandomAccessFile;Import java.io.IOException;
    • Acesso Aleatório em Arquivos• O segundo parâmetro da instância indica se o arquivo será acessado com permissões de q pleitura e escrita (rw), apenas leitura (r) ou apenas escrita (w);apenas escrita (w);
    • // Exemplo – Gravar dados inteiros em arquivosimport java io File;import java.io.File;import java.io.RandomAccessFile;import java.io.IOException;public class principal {public static void main(String[] args) throws IOException {p g g pFile arq = new File("C:/arquivo.txt");RandomAccessFile acesso = new RandomAccessFile(arq, “rw”);int num1 = 14, num2 = 15;// Método para a escritaacesso.writeInt(num1);it I t( 2)acesso.writeInt(num2);// Após a gravação, o acesso deve ser fechadoacesso.close();}}}
    • // Exemplo – Ler dados inteiros em arquivosimport java.io.File;import java.io.RandomAccessFile;import java.io.IOException;public class principal {public static void main(String[] args) throws IOException {public static void main(String[] args) throws IOException {File arq = new File("C:/arquivo.txt");RandomAccessFile acesso = new RandomAccessFile(arq, “rw”);// Método para a leitura// Método para a leituraint num1 = acesso.readInt();int num2 = acesso.readInt();System.out.println(num1);// Após a leitura, o acesso deve ser fechadoacesso.close();}}
    • // Exemplo – Gravar um String em arquivosimport java.io.File;import java.io.RandomAccessFile;import java.io.IOException;p j p ;public class principal {public static void main(String[] args) throws IOException {File arq = new File("C:/arquivo.txt");RandomAccessFile acesso = new RandomAccessFile(arq, “rw”);String nome = “Thyago”;// Método para a escritait Ch ( )acesso.writeChars(nome);// Após a gravação, o acesso deve ser fechadoacesso.close();}}}
    • // Exemplo – Ler String em arquivosimport java.io.File;import java.io.RandomAccessFile;i t j i IOE tiimport java.io.IOException;public class principal {public static void main(String[] args) throws IOException {File arq = new File("C:/arquivo txt");File arq = new File( C:/arquivo.txt );RandomAccessFile acesso = new RandomAccessFile(arq, “rw”);// Método para a leituraString nome = acesso.readLine();System.out.println(nome);y p ( );// Após a leitura, o acesso deve ser fechadoacesso.close();}}
    • // Exemplo – Descobrir a posição do cursor no arquivo// Exemplo Descobrir a posição do cursor no arquivoimport java.io.File;import java.io.RandomAccessFile;p j ;import java.io.IOException;public class principal {public static void main(String[] args) throws IOException {File arq = new File("C:/arquivo.txt");RandomAccessFile acesso = new RandomAccessFile(arq, “rw”);System.out.println(“Posição: ” + acesso.getFilePointer());}}}
    • // Exemplo – Posicionar o cursor no arquivoimport java.io.File;i t j i R d A Filimport java.io.RandomAccessFile;import java.io.IOException;public class principal {public static void main(String[] args) throws IOException {public static void main(String[] args) throws IOException {File arq = new File("C:/arquivo.txt");RandomAccessFile acesso = new RandomAccessFile(arq, “rw”);acesso.seek(5);( );}}
    • ExercícioExercício
    • Exercício• Faça uma classe Java que receba a idade de 5 pessoas, armazenando‐as em um arquivo. p qE id f l lê d• Em seguida, faça outra classe que lê todas as idades cadastradas no arquivo e calcula a média das mesmas;