SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

java.io - streams and files
java.io - streams and filesjava.io - streams and files
java.io - streams and filesMarcello Thiry
 
[Curso Java Basico] Aulas 75-84: Strings e StringBuilder
[Curso Java Basico] Aulas 75-84: Strings e StringBuilder[Curso Java Basico] Aulas 75-84: Strings e StringBuilder
[Curso Java Basico] Aulas 75-84: Strings e StringBuilderLoiane Groner
 
Understanding java streams
Understanding java streamsUnderstanding java streams
Understanding java streamsShahjahan Samoon
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsEduardo Mendes
 
Java Lambda Expressions.pptx
Java Lambda Expressions.pptxJava Lambda Expressions.pptx
Java Lambda Expressions.pptxSameerAhmed593310
 
Java Course 8: I/O, Files and Streams
Java Course 8: I/O, Files and StreamsJava Course 8: I/O, Files and Streams
Java Course 8: I/O, Files and StreamsAnton Keks
 
Spring Framework - Validation
Spring Framework - ValidationSpring Framework - Validation
Spring Framework - ValidationDzmitry Naskou
 
interface with mysql.pptx
interface with mysql.pptxinterface with mysql.pptx
interface with mysql.pptxKRITIKAOJHA11
 
Java Socket Programming
Java Socket ProgrammingJava Socket Programming
Java Socket ProgrammingVipin Yadav
 
[Curso Java Basico] Exercicios Aula 20
[Curso Java Basico] Exercicios Aula 20[Curso Java Basico] Exercicios Aula 20
[Curso Java Basico] Exercicios Aula 20Loiane Groner
 
Java And Multithreading
Java And MultithreadingJava And Multithreading
Java And MultithreadingShraddha
 
Something About Dynamic Linking
Something About Dynamic LinkingSomething About Dynamic Linking
Something About Dynamic LinkingWang Hsiangkai
 
Introduction to Java 8
Introduction to Java 8Introduction to Java 8
Introduction to Java 8Knoldus Inc.
 

La actualidad más candente (20)

java.io - streams and files
java.io - streams and filesjava.io - streams and files
java.io - streams and files
 
[Curso Java Basico] Aulas 75-84: Strings e StringBuilder
[Curso Java Basico] Aulas 75-84: Strings e StringBuilder[Curso Java Basico] Aulas 75-84: Strings e StringBuilder
[Curso Java Basico] Aulas 75-84: Strings e StringBuilder
 
Java I/O
Java I/OJava I/O
Java I/O
 
Java I/o streams
Java I/o streamsJava I/o streams
Java I/o streams
 
Java interfaces
Java   interfacesJava   interfaces
Java interfaces
 
Understanding java streams
Understanding java streamsUnderstanding java streams
Understanding java streams
 
Java 8 Lambda Expressions
Java 8 Lambda ExpressionsJava 8 Lambda Expressions
Java 8 Lambda Expressions
 
Curso de Python e Django
Curso de Python e DjangoCurso de Python e Django
Curso de Python e Django
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
 
Storage classes
Storage classesStorage classes
Storage classes
 
Java Lambda Expressions.pptx
Java Lambda Expressions.pptxJava Lambda Expressions.pptx
Java Lambda Expressions.pptx
 
Java Course 8: I/O, Files and Streams
Java Course 8: I/O, Files and StreamsJava Course 8: I/O, Files and Streams
Java Course 8: I/O, Files and Streams
 
Spring Framework - Validation
Spring Framework - ValidationSpring Framework - Validation
Spring Framework - Validation
 
interface with mysql.pptx
interface with mysql.pptxinterface with mysql.pptx
interface with mysql.pptx
 
Java Socket Programming
Java Socket ProgrammingJava Socket Programming
Java Socket Programming
 
[Curso Java Basico] Exercicios Aula 20
[Curso Java Basico] Exercicios Aula 20[Curso Java Basico] Exercicios Aula 20
[Curso Java Basico] Exercicios Aula 20
 
Java small steps - 2019
Java   small steps - 2019Java   small steps - 2019
Java small steps - 2019
 
Java And Multithreading
Java And MultithreadingJava And Multithreading
Java And Multithreading
 
Something About Dynamic Linking
Something About Dynamic LinkingSomething About Dynamic Linking
Something About Dynamic Linking
 
Introduction to Java 8
Introduction to Java 8Introduction to Java 8
Introduction to Java 8
 

Similar a 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 !
 
Escrever e ler arquivos com java
Escrever e ler arquivos com javaEscrever e ler arquivos com java
Escrever e ler arquivos com javaMoisesInacio
 
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
 

Similar a 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
 
Escrever e ler arquivos com java
Escrever e ler arquivos com javaEscrever e ler arquivos com java
Escrever e ler arquivos com java
 
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
 

Más 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