FicheirosProgramação em Java 2006-2007
Operações de entrada/saída    entrada                                                    saídaa   teclado                 ...
//imports aqui…                                 public class LeituraFicheiro {                                   public st...
//imports aqui …                                   public class EscreverFicheiro {           Escrita                   sta...
Tratando os errosDurante a Leitura de um ficheiro, vários  erros podem ocorrer, O Ficheiro a ser lido pode não existir O...
Tratando os erros (try – catch)Para tratar estes erros temos que usar o bloco try ecatch, onde:try    > Tentar executar um...
Tratando os erros (exemplo)      try{        // abrir o ficheiro de texto       BufferedWriter bw = new BufferedWriter(new...
Problema 1Criar um programa que leia um ficheiro com a listagem dos alunos deuma turma e cria um ficheiro novo com as nota...
Problema 1.Esquema do Algoritmo Declaração de variáveis:  String nomeFx1, nomeFx2, s ;         nomeFx1 nomeFx2  int nota; ...
Problema 2Na terra do Alberto Alexandre (localmente conhecido por     Auexande Aubeto), o dialecto local é semelhante ao  ...
A Classe ScannerPara além do BufferedReader podemos usar a classe Scanner (do    java 5) para o ler de ficheiros e do tecl...
A Classe Scannerimport java.io.File;import java.util.Scanner;public class LeDoFicheiroUsandoClasseScanner{         public ...
Bibliografia   António José Mendes, Maria José Marcelino. Fundamentos de    programação em JAVA 2.FCA – Editora de inform...
Upcoming SlideShare
Loading in …5
×

Ficheiros texto

814 views
625 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
814
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ficheiros texto

  1. 1. FicheirosProgramação em Java 2006-2007
  2. 2. Operações de entrada/saída entrada saídaa teclado monitorn leitura escritat Programaes ficheiro ficheiroag leitura escritao Programara Programação em Java 2006-2007 2
  3. 3. //imports aqui… public class LeituraFicheiro { public static void main(String [] args) throws Leitura IOException { //declarar e inicializar a variável nomeFicheiro String nomeFicheiro = “teste1.txt”; // abrir o ficheiro de texto Para ler um ficheiro de texto BufferedReader br = new BufferedReader(new utilizamos as classes FileReader(nomeFicheiro)); FileReaderFileReader e BufferedReader do pacote java.io String linha = br.readLine(); // ler a 1ª linha while(linha != null) { // o readLine devolve null no fim Este ciclo permite ler um ficheiro ficheiro linha a linha System.out.println(linha); // mostrar linha no ecrã linha = br.readLine(); // ler a linha seguinte }Antes de terminar devemos // fechar o ficheiro fechar o ficheiro br.close(); } } Programação em Java 2006-2007 3
  4. 4. //imports aqui … public class EscreverFicheiro { Escrita static void main(String [] args) throws IOException { String nomeFicheiro= "novo.txt"; // abrir o ficheiro de texto Para escrever num ficheiro de BufferedWriter bw = new BufferedWriter(new texto utilizamos as classes FileWriter(nomeFx));FileWriter e BufferedWriter do pacote java.io String linha = readLine(); // ler uma linha do teclado while(s.length() > 0) { // termina quando digitar <enter> bw.write(s); // escrever a linha no ficheiro bw.newLine(); // inserir mudança linha no Este ciclo permite ler uma linha do ficheiro teclado e escreve-la no ficheiro até linha = readLine(); // ler outra linha do teclado que o utilizador introduzir <enter> } // fechar o ficheiro bw.close(); Antes de terminar devemos System.out.println("O conteúdo foi armazenado no ficheiro “ fechar o ficheiro + nomeFx); } } Programação em Java 2006-2007 4
  5. 5. Tratando os errosDurante a Leitura de um ficheiro, vários erros podem ocorrer, O Ficheiro a ser lido pode não existir O Ficheiro pode estar corrompido etc.Qualquer um dos pontos acima podecausar um erro de entrada e saída(IOException) Programação em Java 2006-2007 5
  6. 6. Tratando os erros (try – catch)Para tratar estes erros temos que usar o bloco try ecatch, onde:try > Tentar executar um trecho de códigocatch > Pegar os erros que forem ocorrer durante a execução do bloco trySintaxetry{ //bloco de código a executar}catch(<Nome da Excepcao> <variavel>){ //tratamento do erro} Programação em Java 2006-2007 6
  7. 7. Tratando os erros (exemplo) try{ // abrir o ficheiro de texto BufferedWriter bw = new BufferedWriter(new FileWriter(nomeFx)); String linha = readLine(); // ler uma linha do teclado while(s.length() > 0) { // termina quando digitar <enter> bw.write(s); // escrever a linha no ficheiro bw.newLine(); // inserir mudança linha no ficheiro linha = readLine(); // ler outra linha do teclado } // fechar o ficheiro bw.close(); System.out.println("O conteúdo foi armazenado no ficheiro “ + nomeFx); } catch (IOException e){ Sysstem.out.println(“Ocorreram problemas na leitura do ficheiro ” + e.getMessage()); } } Programação em Java 2006-2007 7
  8. 8. Problema 1Criar um programa que leia um ficheiro com a listagem dos alunos deuma turma e cria um ficheiro novo com as notas que obtiveram emprogramação em Java. O programa deverá funcionar da seguinte forma:1. Pedir ao utilizador para introduzir via teclado os nomes do ficheiro de entrada e do ficheiro de saída2. Mostrar o conteúdo do ficheiro de entrada (linha a linha), pedindo a cada passo a nota da disciplina de Programação em Java obtida pelo aluno listado3. Adicionar a nova informação no ficheiro final, separando com um espaço Ficheiro de entrada Ficheiro de saída a9845 João Silva Martins a9845 João Silva Martins 16 a10200 Ana Maria Almeida a10200 Ana Maria Almeida 14 a15800 José Pedro Alves a15800 José Pedro Alves 17 … ... Programação em Java 2006-2007 8
  9. 9. Problema 1.Esquema do Algoritmo Declaração de variáveis: String nomeFx1, nomeFx2, s ; nomeFx1 nomeFx2 int nota; nota BufferedReader f1 = nul; //descritor do ficheiro de entrada BufferedWriter f2 = null; //descritor dos ficheiro de saída Algoritmo: Leitura do nome do ficheiro de entrada para nomeFx1 Leitura do nome do ficheiro de saída para nomeFx2 Abrir ficheiro de entrada com nome em nomeFx1 Abrir ficheiro de saída com nome em nomeFx2 Ler primeira linha do ficheiro de entrada para s Enquanto houver linhas no ficheiro de entrada 1º. Mostrar no ecrã a linha de texto armazenada em s 2º. Ler a nota da disciplina de Java para a variável nota 3º. Escrever o conteúdo de s mais a nota de nota no ficheiro de saída 4º. Ler linha seguinte do ficheiro de entrada para s Fechar ficheiro de entrada f1 Fechar ficheiro de saída f2 Programação em Java 2006-2007 9
  10. 10. Problema 2Na terra do Alberto Alexandre (localmente conhecido por Auexande Aubeto), o dialecto local é semelhante ao português com duas excepções: 1. Não dizem os R’s 2. Trocam os L’s por U’sPor exemplo, “lar doce lar” deve ser traduzido para “ua doce ua”.Implementar um tradutor de ficheiros de texto em português para o dialecto do Alberto. O tradutor deve pedir ao utilizador o nome do ficheiro a traduzir e apresentar a tradução no ecrã. Ficheiro de entrada Ficheiro de saída lar doce lar ua doce ua Programação em Java 2006-2007 10
  11. 11. A Classe ScannerPara além do BufferedReader podemos usar a classe Scanner (do java 5) para o ler de ficheiros e do teclado, com excepção que ela só tratar dados primitivos e do tipo String//Leitura do tecladoimport java.util.Scanner;public class LeDoTeclandoUsanoScanner{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Introudzua um valor inteiro: "); int value = scanner.nextInt(); System.out.println("O valor lido foi: " + value); }} Programação em Java 2006-2007 11
  12. 12. A Classe Scannerimport java.io.File;import java.util.Scanner;public class LeDoFicheiroUsandoClasseScanner{ public static void main1(String[] args) throws FileNotFoundException { Scanner s = new Scanner(new File("arquivo.txt")); while (s.hasNextLine()) { System.out.println(s.nextLine()); } }} Programação em Java 2006-2007 12
  13. 13. Bibliografia António José Mendes, Maria José Marcelino. Fundamentos de programação em JAVA 2.FCA – Editora de informática, 2003. Sun’s Tutorial: Basic I/0 http://java.sun.com/docs/books/tutorial/essential/io/index.html Programação em Java 2006-2007 13

×