SlideShare une entreprise Scribd logo
1  sur  13
Ficheiros




Programação em Java 2006-2007
Operações de entrada/saída
    entrada                                                    saída
a   teclado                                                    monitor
n              leitura                               escrita
t                               Programa
e
s



    ficheiro                                                   ficheiro
a
g              leitura                               escrita
o                               Programa
r
a



                     Programação em Java 2006-2007                        2
//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));
                                           FileReader
FileReader 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
//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
Tratando os erros
Durante 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 pode
causar um erro de entrada e saída
(IOException)
            Programação em Java 2006-2007   5
Tratando os erros (try – catch)
Para tratar estes erros temos que usar o bloco try e
catch, onde:
try    > Tentar executar um trecho de código
catch > Pegar os erros que forem ocorrer durante a
   execução do bloco try

Sintaxe

try{
          //bloco de código a executar
}
catch(<Nome da Excepcao> <variavel>){
        //tratamento do erro
}


                      Programação em Java 2006-2007    6
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
Problema 1
Criar um programa que leia um ficheiro com a listagem dos alunos de
uma turma e cria um ficheiro novo com as notas que obtiveram em
programaçã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ída
2.     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 listado
3.      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
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
Problema 2
Na 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’s
Por 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
A Classe Scanner
Para 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 teclado
import 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
A Classe Scanner
import 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
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

Contenu connexe

Tendances

String and string buffer
String and string bufferString and string buffer
String and string bufferkamal kotecha
 
Java vetores e matrizes
Java   vetores e matrizesJava   vetores e matrizes
Java vetores e matrizesArmando Daniel
 
Python Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard WayPython Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard WayUtkarsh Sengar
 
Curso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e StreamsCurso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e StreamsHelder da Rocha
 
Lógica de Programação - Vetor
Lógica de Programação - VetorLógica de Programação - Vetor
Lógica de Programação - VetorWesley R. Bezerra
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaMariana de Azevedo Santos
 
Protocolo http
Protocolo httpProtocolo http
Protocolo httpBiel2013a
 
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Adriano Teixeira de Souza
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em pythonAlvaro Oliveira
 
9. Input Output in java
9. Input Output in java9. Input Output in java
9. Input Output in javaNilesh Dalvi
 
Java database connectivity with MySql
Java database connectivity with MySqlJava database connectivity with MySql
Java database connectivity with MySqlDhyey Dattani
 
MongoDB - Tudo o que você precisa saber
MongoDB - Tudo o que você precisa saberMongoDB - Tudo o que você precisa saber
MongoDB - Tudo o que você precisa saberChristiano Anderson
 

Tendances (20)

HTTP
HTTPHTTP
HTTP
 
Core java
Core java Core java
Core java
 
String and string buffer
String and string bufferString and string buffer
String and string buffer
 
Java vetores e matrizes
Java   vetores e matrizesJava   vetores e matrizes
Java vetores e matrizes
 
Wrapper class
Wrapper classWrapper class
Wrapper class
 
Python Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard WayPython Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard Way
 
Curso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e StreamsCurso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e Streams
 
Lógica de Programação - Vetor
Lógica de Programação - VetorLógica de Programação - Vetor
Lógica de Programação - Vetor
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em Java
 
Protocolo http
Protocolo httpProtocolo http
Protocolo http
 
String, string builder, string buffer
String, string builder, string bufferString, string builder, string buffer
String, string builder, string buffer
 
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
 
JAVA OOP
JAVA OOPJAVA OOP
JAVA OOP
 
Strings in Java
Strings in JavaStrings in Java
Strings in Java
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
9. Input Output in java
9. Input Output in java9. Input Output in java
9. Input Output in java
 
Java database connectivity with MySql
Java database connectivity with MySqlJava database connectivity with MySql
Java database connectivity with MySql
 
MongoDB - Tudo o que você precisa saber
MongoDB - Tudo o que você precisa saberMongoDB - Tudo o que você precisa saber
MongoDB - Tudo o que você precisa saber
 
String in java
String in javaString in java
String in java
 
Collection framework
Collection frameworkCollection framework
Collection framework
 

Similaire à Leitura e escrita de ficheiros em Java

Apresentação java io
Apresentação java ioApresentação java io
Apresentação java ioSilvino Neto
 
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Os Fantasmas !
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivosTiago
 
Laboratório de Programação I: Arquivos (texto) em disco
Laboratório de Programação I: Arquivos (texto) em discoLaboratório de Programação I: Arquivos (texto) em disco
Laboratório de Programação I: Arquivos (texto) em discoAlex Camargo
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/Rodrigo Vieira
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/Rodrigo Vieira
 
Laboratório de Programação I: Arquivos (binários) em disco
Laboratório de Programação I: Arquivos (binários) em discoLaboratório de Programação I: Arquivos (binários) em disco
Laboratório de Programação I: Arquivos (binários) em discoAlex Camargo
 
Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04thomasdacosta
 
Java recursos avançados - streams
Java   recursos avançados - streamsJava   recursos avançados - streams
Java recursos avançados - streamsArmando Daniel
 
Criando e Lendo Arquivos TXT com a Classe File
Criando e Lendo Arquivos TXT com a Classe FileCriando e Lendo Arquivos TXT com a Classe File
Criando e Lendo Arquivos TXT com a Classe FilePaulo Brito
 
Linguagem C - Arquivos [exercícios]
Linguagem C - Arquivos [exercícios]Linguagem C - Arquivos [exercícios]
Linguagem C - Arquivos [exercícios]Matheus Alves
 
F I C+ + L P 05
F I C+ + L P 05F I C+ + L P 05
F I C+ + L P 05t34m0nana
 
Programando em python arquivos
Programando em python   arquivosProgramando em python   arquivos
Programando em python arquivossamuelthiago
 
java.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivosjava.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivosMarcello Thiry
 

Similaire à Leitura e escrita de ficheiros em Java (20)

Apresentação java io
Apresentação java ioApresentação java io
Apresentação java io
 
Java9
Java9Java9
Java9
 
Algoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - ArquivosAlgoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - Arquivos
 
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Java 05
Java 05Java 05
Java 05
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivos
 
Laboratório de Programação I: Arquivos (texto) em disco
Laboratório de Programação I: Arquivos (texto) em discoLaboratório de Programação I: Arquivos (texto) em disco
Laboratório de Programação I: Arquivos (texto) em disco
 
Estrutura de dados ii
Estrutura de dados iiEstrutura de dados ii
Estrutura de dados ii
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
 
Laboratório de Programação I: Arquivos (binários) em disco
Laboratório de Programação I: Arquivos (binários) em discoLaboratório de Programação I: Arquivos (binários) em disco
Laboratório de Programação I: Arquivos (binários) em disco
 
Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04
 
1707331929 ltp iv java original
1707331929 ltp iv   java original1707331929 ltp iv   java original
1707331929 ltp iv java original
 
Java
JavaJava
Java
 
Java recursos avançados - streams
Java   recursos avançados - streamsJava   recursos avançados - streams
Java recursos avançados - streams
 
Criando e Lendo Arquivos TXT com a Classe File
Criando e Lendo Arquivos TXT com a Classe FileCriando e Lendo Arquivos TXT com a Classe File
Criando e Lendo Arquivos TXT com a Classe File
 
Linguagem C - Arquivos [exercícios]
Linguagem C - Arquivos [exercícios]Linguagem C - Arquivos [exercícios]
Linguagem C - Arquivos [exercícios]
 
F I C+ + L P 05
F I C+ + L P 05F I C+ + L P 05
F I C+ + L P 05
 
Programando em python arquivos
Programando em python   arquivosProgramando em python   arquivos
Programando em python arquivos
 
java.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivosjava.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivos
 

Plus de Portal_do_Estudante_Java (12)

Tutorial java
Tutorial javaTutorial java
Tutorial java
 
Ficha teorica aula_input_reader
Ficha teorica aula_input_readerFicha teorica aula_input_reader
Ficha teorica aula_input_reader
 
String tokenizer
String tokenizerString tokenizer
String tokenizer
 
Series lab
Series labSeries lab
Series lab
 
String
StringString
String
 
Programacao em java
Programacao em javaProgramacao em java
Programacao em java
 
Javacodingstandardssummary
JavacodingstandardssummaryJavacodingstandardssummary
Javacodingstandardssummary
 
Javacodingstandards
JavacodingstandardsJavacodingstandards
Javacodingstandards
 
Java apostilha
Java apostilhaJava apostilha
Java apostilha
 
A linguagem java
A linguagem javaA linguagem java
A linguagem java
 
52 java
52 java52 java
52 java
 
Arrays em java
Arrays em javaArrays em java
Arrays em java
 

Leitura e escrita de ficheiros em Java

  • 2. Operações de entrada/saída entrada saída a teclado monitor n leitura escrita t Programa e s ficheiro ficheiro a g leitura escrita o Programa r a Programação em Java 2006-2007 2
  • 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)); FileReader FileReader 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. //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. Tratando os erros Durante 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 pode causar um erro de entrada e saída (IOException) Programação em Java 2006-2007 5
  • 6. Tratando os erros (try – catch) Para tratar estes erros temos que usar o bloco try e catch, onde: try > Tentar executar um trecho de código catch > Pegar os erros que forem ocorrer durante a execução do bloco try Sintaxe try{ //bloco de código a executar } catch(<Nome da Excepcao> <variavel>){ //tratamento do erro } Programação em Java 2006-2007 6
  • 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. Problema 1 Criar um programa que leia um ficheiro com a listagem dos alunos de uma turma e cria um ficheiro novo com as notas que obtiveram em programaçã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ída 2. 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 listado 3. 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. 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. Problema 2 Na 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’s Por 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. A Classe Scanner Para 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 teclado import 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. A Classe Scanner import 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. 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