1 / 8

Aula 12

Aula 12. Ficheiros. Programa. Programa. Operações de entrada/saída. entrada. saída. antes. teclado. monitor. leitura. escrita. ficheiro. ficheiro. agora. escrita. leitura. import java.io.*; class Ex_12_1_lerFicheiro extends P1App {

rasia
Download Presentation

Aula 12

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aula 12 Ficheiros

  2. Programa Programa Operações de entrada/saída entrada saída antes teclado monitor leitura escrita ficheiro ficheiro agora escrita leitura Programação em Java 2006-2007

  3. import java.io.*; classEx_12_1_lerFicheiro extends P1App { static void main(String [] args) throws IOException { String s, nomeFx; // atribuir a nomeFx o nome do ficheiro nomeFx = “teste1.txt”; // declarar um descriptor para leitura de um ficheiro de texto BufferedReader f = null; try { // abrir o ficheiro de texto f = newBufferedReader(newFileReader(nomeFx)); } catch(Exception e) { // ocorreu um erro na abertura do ficheiro, logo: println("Impossível abrir o ficheiro " + nomeFx); println("fim do programa..."); return; } s = f.readLine(); // ler a 1ª linha while(s != null) { // o readLine devolve null no fim ficheiro println(s); // mostrar linha no ecrã s = f.readLine(); // ler a linha seguinte } // fechar o ficheiro f.close(); } } Leitura Para ler um ficheiro de texto utilizamos as classes FileReader e BufferedReader do pacote java.io Este bloco implementa o tratamento de erros usando excepções. Desta forma, se ocorrer um erro na abertura do ficheiro, o programa pode detecta-lo, visualizar uma mensagem e terminar. Para isto é preciso adicionar as palavras chaves throws IOException à declaração do procedimento main Este ciclo permite ler um ficheiro linha a linha Antes de terminar devemos fechar o ficheiro Programação em Java 2006-2007

  4. import java.io.*; classEx_12_2_escreverFicheiro extends P1App { static void main(String [] args) throws IOException { String s, nomeFx= "novo.txt"; // declarar descritor para acesso ao ficheiro em modo escrita BufferedWriter f = null; try { // abrir o ficheiro de texto f = newBufferedWriter(newFileWriter(nomeFx)); } catch(Exception e) { // ocorreu um erro na abertura do ficheiro, logo: println("Impossível criar o ficheiro " + nomeFx); println("fim do programa..."); return; } s = readLine(); // ler uma linha do teclado while(s.length() > 0) { // termina quando digitar <enter> f.write(s); // escrever a linha no ficheiro f.newLine(); // inserir mudança linha no ficheiro s = readLine(); // ler outra linha do teclado } // fechar o ficheiro f.close(); println("O conteúdo foi armazenado no ficheiro " + nomeFx); } } Escrita Para escrever num ficheiro de texto utilizamos as classes FileWriter e BufferedWriter do pacote java.io Este bloco implementa o tratamento de erros usando excepções. Este ciclo permite ler uma linha do teclado e escreve-la no ficheiro até que o utilizador introduzir <enter> Antes de terminar devemos fechar o ficheiro Programação em Java 2006-2007

  5. 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: • Pedir ao utilizador para introduzir via teclado os nomes do ficheiro de entrada e do ficheiro de saída • 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 • Adicionar a nova informação no ficheiro final. Ficheiro de entrada Ficheiro de saída a9845 João Silva Martins a10200 Ana Maria Almeida a15800 José Pedro Alves… a9845 João Silva Martins 16 a10200 Ana Maria Almeida 14 a15800 José Pedro Alves 17 ... Programação em Java 2006-2007

  6. Problema 1. Esquema do Algoritmo Declaração de variáveis: String nomeFx1, nomeFx2, s; int nota; BufferedReader f1 = nul; //descritor do ficheiro de entrada BufferedWriter f2 = null; //descritor dos ficheiro de saída Algoritmo: Leiturado nome do ficheiro de entrada para nomeFx1Leitura do nome do ficheiro de saída para nomeFx2Abrirficheiro de entrada com nome em nomeFx1Abrir ficheiro de saída com nome em nomeFx2 Ler primeira linha do ficheiro de entrada para sEnquanto 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 smais a nota de nota no ficheiro de saída 4º. Ler linha seguinte do ficheiro de entrada parasFechar ficheiro de entrada f1 Fechar ficheiro de saída f2 Programação em Java 2006-2007

  7. 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

  8. 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/0http://java.sun.com/docs/books/tutorial/essential/io/index.html Programação em Java 2006-2007

More Related