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...
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 cami...
// Exemploimport java.io.File;public class principal {public static void main(String[] args) {public static void main(Stri...
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 ...
Escrita em Arquivosq• O segundo parâmetro da função indica se o conteúdo textual a ser inserido será adicionado ao conteúd...
// Exemploimport java io File;import java.io.File;import java.io.FileWriter;import java.io.IOException;public class princi...
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 qf...
Leitura de Arquivosq• Deve‐se importar a classe FileReader para que a mesma possa ser instanciada, além da classe pIOExcep...
// Exemploimport java.io.File;import java io FileReader;import java.io.FileReader;import java.io.IOException;public class ...
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 de...
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,...
Acesso Aleatório em Arquivos• O segundo parâmetro da instância indica se o arquivo será acessado com permissões de q pleit...
// Exemplo – Gravar dados inteiros em arquivosimport java io File;import java.io.File;import java.io.RandomAccessFile;impo...
// Exemplo – Ler dados inteiros em arquivosimport java.io.File;import java.io.RandomAccessFile;import java.io.IOException;...
// Exemplo – Gravar um String em arquivosimport java.io.File;import java.io.RandomAccessFile;import java.io.IOException;p ...
// Exemplo – Ler String em arquivosimport java.io.File;import java.io.RandomAccessFile;i t j i IOE tiimport java.io.IOExce...
// Exemplo – Descobrir a posição do cursor no arquivo// Exemplo Descobrir a posição do cursor no arquivoimport java.io.Fil...
// Exemplo – Posicionar o cursor no arquivoimport java.io.File;i t j i R d A Filimport java.io.RandomAccessFile;import jav...
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 seguid...
Upcoming SlideShare
Loading in …5
×

Algoritmos e Programação - 2013.1 - Aula 17

406
-1

Published on

Algoritmos e Programação - 2013.1 - Aula 17

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
406
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Algoritmos e Programação - 2013.1 - Aula 17

  1. 1. Algoritmos e ProgramaçãoProf.º Thyago MaiaProf.  Thyago Maia2013.1
  2. 2. Aula 17Objetivos• Apresentar as classes e métodos necessários para a leitura e escrita pde arquivos em Java;2
  3. 3. ArquivosArquivos
  4. 4. 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;
  5. 5. Declaração de ArquivosDeclaração de Arquivos
  6. 6. 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;
  7. 7. // 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");}}
  8. 8. Escrita em ArquivosEscrita em Arquivos
  9. 9. 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);
  10. 10. 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;
  11. 11. // 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();}}}
  12. 12. Leitura de ArquivosLeitura de Arquivos
  13. 13. 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);
  14. 14. 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];
  15. 15. // 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();}}
  16. 16. ExercícioExercício
  17. 17. 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;
  18. 18. Acesso Aleatório em ArquivosAcesso Aleatório em Arquivos
  19. 19. 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;
  20. 20. 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);
  21. 21. // 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();}}}
  22. 22. // 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();}}
  23. 23. // 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();}}}
  24. 24. // 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();}}
  25. 25. // 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());}}}
  26. 26. // 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);( );}}
  27. 27. ExercícioExercício
  28. 28. 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;
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×