SlideShare une entreprise Scribd logo
1  sur  33
Entrada/Saída
O que é um Canal
   Em JAVA, todas os aspectos que se relacionam com as diferentes formas de se
    realizar a leitura e a escrita de dados a partir de uma fonte e para um destino,
    são reunidas, e abstraídas, no conceito de canal.
   Um Canal é uma abstracção que pode representar quer uma fonte genérica de
    entrada de dados ou um destino genérico para escrita de dados de acesso
    sequencial e independente de dispositivos físicos concretos, formatos ou até de
    mecanismos de optimização de leitura e escrita.


   Em JAVA, existem duas grandes classes de canais, designadamente:
     Canais de caracteres (canais de texto)
     Canais de bytes (canais binárias)




                                                               2
Classes Base
   Todos as classes , que implementam formas particulares de Leitura e Escrita
    em canais, são derivadas de quatro classes abstractas, são elas:

   Para os canais de bytes: InputStream e OutputStream
   Para os canais de caracteres: Reader e Writer (associados aos ficheiros)


   Estas classes sendo abstractas definem o conjunto de métodos que uma
    qualquer implementação de tais canais deverá concretizar.


   JAVA oferece serviços básicos de Entrada e Saída através de dois canais
    associados respectivamente às operações de bytes associada a leitura do
    teclado ou a e escrita no monitor:
       System.in: Leitura no teclado
       System.out: Escrita no monitor

                                                              3
Canal de leitura: System.in
   System.in: É o canal de leitura standard
       Por omissão lê o teclado

   Podemos usar System.in de várias maneiras
       Directamente (acesso básico)
       Em conjunto com outros canais (acesso combinado)




                                                4
Wrappers & Buffers
                     O package java.io está inteligentemente desenhado.
 InputStreamReader   Algumas das classes funcionam como classes embrulho
                     (wrapper classes) e destinam-se a acrescentar
     System.in       funcionalidade aos canais existentes.


                     Por Exemplo:


                     •InputStreamReader: Permite ler um caracter do teclado
                     sem ser necessário converte-lo manualmente.
 InputStreamReader
                     (read())
    System.in        •BufferedReader: Permite ler uma cadeia de caracteres
                     do teclado sem ser necessário converte-lo manualmente
  BufferedReader     (readLine()).



                                                    5
Ler do teclado (Java 1.4)

try {
  BufferedReader r = new BufferedReader(
                   new InputStreamReader(System.in));

 String s = r.readLine() ;
 int i = (new Integer(s)).intValue() ;

 System.out.println(i) ;
}
catch (IOException e) { }




                                            6
Canais de Bytes
                             ByteArrayInputStream
                                                        DataInputStream                   DataInput
                             FileInputStream
                                                         BufferedInputStream
                              FilterInputStream
                                                         LineNumberInputStream
          InputStream        SequenceInputStream
                                                         PushBackInputStream
                              PipedInputStream

                             ObjectInputStream                     ObjectInput

Object                        StringBufferInputStream


                              ByteArrayOutputStream

                              FileOutputStream           BufferedOutputStream

         OutputStream         FilterOutputStream        DataOutputStream         DataOutput

                              PipedOutputStream          PrintStream

                             ObjectOutputStream              ObjectOutput



          RandomAccessFile




                                                                          7
Canais de Caracteres
                            CharArrayReader

                           InputStreamReader    FileReader

                            FilterReader        PushBackReader

           Reader           StringReader

                            PipedReader

                           BufferedReader       LineNumberReader

Object                      BufferedWriter

                           CharArrayWriter

                           OutputStreamWriter    FileWriter

           Writer           FilterWriter

                            PipedWriter

                            PrintWriter

                            StringWriter


         StreamTokenizer




                                                              8
Classe Scanner (JAVA 5.0)

   A classe Scanner, introduzida com a versão J2SE 5.0, é uma
    classe nova que permite converter o texto para tipos primitivos.
   java.util.Scanner

   O texto pode ser obtido das mais diversas fontes tais como
    objectos do tipo:
     Strings

     InputStream

     Ficheiros



   A classe Scanner permite separar o texto em tokens, que são
    sequências de caracteres separados por delimitadores.

   Por defeito, os delimitadores são os espaços em branco, tabs e
    mudanças de linha.

                                                     9
Leitura do Teclado
   Para ler de forma confortável texto do canal de entrada padrão, é preciso
    criar primeiro um Scanner sobre canal System.in que esta associado ao
    teclado
        Scanner sc = new Scanner(System.in);

   Para cada um dos tipos primitivos há um método correspondente com a
    assinatura nextXxx() que retorne um valor desse tipo.

   Se a string não puder ser interpretada como sendo deste tipo, é lançado
    uma excepção do tipo InputMismatchException.

   Exemplos de algumas leituras de tokens:
     String aToken = sc.next() ; //Lê um token

     int num1 = sc.nextInt() ; //Lê um token inteiro
     double num2 = sc.nextDouble() ; //Lê um token              real
     String linha = sc.nextLine() ; //Lê uma linha




                                                            10
Exemplo: Ler do teclado (Java 5.0)
import java.io.*;
import java.util.*;

class ExScanner{
public static void main(String[] args) {
{
  Scanner scanTeclado = new Scanner(System.in);

    System.out.println ("Introduza um inteiro");

 try
  {
  int num = scanTeclado.nextInt();
  System.out.println ("Numero introduzido:" + num);
  }

 catch (InputMismatchException e)
  {
    System.out.println ("Erro na leitura do valor:" + e );
  }
  }
}


                                                             11
Exemplo: Ler do teclado (Java 5.0)
import java.io.*;
import java.util.*;

class ExScanner{
public static void main(String[] args) {
{
  String str = "Vamos experimentar o scanner";

    Scanner scanStr = new Scanner(str);

    while (scanStr.hasNext())
    {
    System.out.println ("Token:" + scanStr.next());
      }
    }
 }
}




                                                      12
Exemplo: Ler do teclado (Java 5.0)
                                    Ler int (e.g. 3501):   Introduziu 123
import java.io.*;
import java.util.*;
                                    Ler float (e.g.   2,43):    Introduziu 2.34
public class ScanConsoleApp{
  public static void main (String arg[]) {
         // Cria um scanner para ler do teclado
         Scanner scanner = new Scanner (System.in);
         try {
          System.out.printf (“Ler int (e.g. %4d): ",3501);
          int int_val = scanner.nextInt ();
          System.out.println (" Introduziu " + int_val +"n");

           System.out.printf (“Ler float (e.g. %5.2f): ", 2.43);
           float float_val = scanner.nextFloat ();
           System.out.println (" Introduziu " + float_val +"n");
         }
         catch (InputMismatchException e) {
           System.out.println (“Erro na leitura do valor:" + e );
         }
     }
}

                                                           13
Ficheiros
       Um ficheiro é uma entidade de armazenamento de informação permanente.

       A manipulação de ficheiros é feita pela utilização de canais que derivam das
        classes: InputStream; Reader; OutputStream; Writer.

       Os ficheiros, de acordo com o tipo de informação que podem armazenar,
        podem ser classificada em:

Ficheiros de Texto (Orientado ao caracter)
        Derivam das classes : Reader e Writer.
        Fácil de ser lido por humanos com ferramentas simples (type, more, edit, ...).
        Linhas com comprimento variável.
        Cada linha termina com uma marca.
        Exemplo: ficheiro com código-fonte em Java.

Ficheiro de Dados (Orientado ao byte)
        Derivam das classes : InputStream e OutputStream.
        Apropriado para o processamento por ferramentas automáticas.
        Armazenamento de tipos primitivos, serialização de objectos, etc.
        Armazenamento independente da plataforma.


                                                                                    14
A Classe File

       A classe File representa os ficheiros e directorias de um sistemas de
        ficheiros.
       Esta classe define métodos para a realização das operações sobre ficheiros
        e directorias:
           listagem de directorias

           apagar um ficheiro

           determinar atributos de um ficheiro, alterar o seu nome, etc.

   Definição:

           File entFich = new File(cadeia de caracteres);



                                                                        15
Os métodos da Classe File
CONSTRUTORES
   File(String caminho)                   construtor de directórios/ficheiros
   File(String caminho,String nome)       construtor com nome separado do caminho
   File(String directorio, String nome)   construtor com directório e nome do ficheiro


MÉTODOS
   boolean canRead()                      ficheiro/directório pode ser lido
   boolean canWrite()                     pode-se gravar no ficheiro/directório
   boolean delete()                       apaga ficheiro/directório
   boolean exists()                       verifica se ficheiro/directório existem
   boolean isAbsolute()                   verifica se caminho é absoluto
   boolean isDirectory()                  verifica se objecto é directório
   boolean isFile()                       verifica se objecto é ficheiro
   boolean mKdir()                        cria directório do objecto
   boolean mKdirs()                       cria directórios do caminho
   boolean renameTo(String novo)          muda nome do ficheiro/directório para novo

                                                                       16
Exemplo: Classe File
import java.io.*;
class Exemplo
{
  public static void main(String[] args) throws IOException
  {
    File meuFicheiro = new File(”dados.dat”);

        if (meuFicheiro.exists())

          System.out.println(“dados.dat existe");

        else

          System.out.println(" dados.dat     não existe");

    }
}
                             Testa a existência do ficheiro “dados.dat”


                                                      17
Escrita
             Ficheiro de Texto
   Passos necessários para criar um ficheiro de Texto

   Criar um objecto do tipo File. Permite manipular diversos atributos de
    um ficheiro.

   Criar um canal FileWriter ligado ao objecto File. Permite associar um
    ficheiro de texto a um canal de escrita.

   Criar um canal tampão BufferedWriter ligado ao objecto FileWriter.
    Maior eficiência na escrita de um ficheiro.

   Criar um canal PrintWriter ligado ao objecto BufferedWriter.
    Permite a utilização dos métodos print e println.




                                                        18
Escrita com PrintWriter
import java.io.*;
public class PrintWriterFileApp{
  public static void main (String arg[]) {

        File file = null;
        file = new File ("textOutput.txt");
        try {
          FileWriter file_writer = new FileWriter (file);
          BufferedWriter buf_writer = new BufferedWriter (file_writer);
          PrintWriter print_writer = new PrintWriter (buf_writer);

          print_writer.println ("Saida com PrintWriter.");
          print_writer.println ("tipos primitivos convertidos em strings:");

          boolean a_boolean = false;
          int an_int = 1234567;

          print_writer.println (a_boolean);
          print_writer.println (an_int);
          }
        catch (IOException ioe){ System.out.println("IO Exception"); }
    }
}


                                                          19
Escrita num ficheiro de Texto (formatado)
import java.io.*;
public class PrintWriterFileApp{
  public static void main (String arg[]) {

       File file = null;
       file = new File ("textOutput.txt");
       Formatter formatter;
       try {
         formatter = new Formatter (file);

         formatter.format ("Saida com PrintWriter. %n");
         formatter.format ("tipos primitivos convertidos em strings: %n");

         boolean a_boolean = false;
         int an_int = 1234567;
        double a_double = -4.297e-15;

        formatter.format ("boolean = %9b %n", a_boolean);
        formatter.format ("int     = %9d %n", an_int);
         formatter.format ("double = %9.2e %n", a_double);
         formatter.flush ();
         formatter.close ();
       }
       catch (IOException ioe){ System.out.println("IO Exception"); }
  }}
                                                         20
Escrita num ficheiro de Texto (formatado)
 formatter.format ("Saida com PrintWriter. %n");
    %n –> mudança de linha




  Ficheiro textOutput.txt :

  Saida com PrintWriter.
  Tipos primitivos convertidos em strings:
  boolean =     false
  int     =   1234567
  double = -4.30e-15




                                                   21
Leitura
                       Ficheiro de Texto
   Leitura com Scanner


   Leitura com File Reader

       Criar um objecto do tipo File
        Permite manipular diversos atributos de um ficheiro.

       Criar um canal FileReader ligado ao objecto do tipo File
        Permite a leitura de um ficheiro escrito em formato ASCII.

       Criar um canal tampão BufferedReader ligado objecto do tipo FileReader
        Maior eficiência na leitura de um ficheiro .




                                                                     22
Leitura com Scanner
import java.io.*;                                    Ficheiro textInput.txt:
import java.util.*;                                  123 Primeiro
public class LeituraFicheiro {                       234 Segundo
  public static void main (String arg[]) {
                                                      Saida:
    File file = new File ("textInput.txt");
                                                      Numero inteiro lido: 123
    Scanner scanner = null;
                                                      Primeiro
    try {
                                                      Numero inteiro lido: 234
       scanner = new Scanner (file);
                                                      Segundo
       while( scanner.hasNext())
                                                      Finished executing
       {
          int num = scanner.nextInt();
          System.out.println ("Numero inteiro lido: " +num);
          System.out.println (scanner.next());
          }
    }
    catch (InputMismatchException e) {
      System.out.println ("Mismatch exception:" + e );
    }
    catch (FileNotFoundException e) {
      System.out.println ("Ficheiro não encontrado!");
      System.exit (0);
    } }}

                                                         23
Leitura com FileReader (Ex.1)
                                    Le um ficheiro de texto.
import java.io.*;                   Envia para o ecrã cada linha lida.
import java.util.*;

class LeFicheiro
{
  public static void main(String[] args) throws IOException
  {
    String linha;
    File f;
    FileReader fich;
    BufferedReader entrada = null;




                                                               24
Leitura com FileReader (Ex.1)

try
{
  f        = new File("meuFich.dat");
  fich     = new FileReader(f);
  entrada = new BufferedReader(fich);
  do
  {
     linha = entrada.readLine();
     if (linha != null )
        System.out.println(linha);
   }
   while (linha != null);
}




                                        25
Leitura com FileReader (Ex1)

        catch ( IOException e)
        {
             System.out.println("Erro de I/O.");
             System.out.print(e);
        }
        finally
        {
          System.out.println("fim do programa.");
          if (entrada != null)
             entrada.close();
        }

    }
}




                                                    26
Exemplo 2
import java.io.*;
class ContaDigitoCaracter{
  public static void main(String[] args) throws IOException {
  int proxValor, numMaius=0, numMinu=0, numDigitos=0, numOutros=0;
  char proxCar;                              Lê um ficheiro e retorna os números de:
  String nomeFicheiro;                       digitos; letras maisculas; letras
                                             minusculas e outros caracteres
// Obtem ficheiro do utilizar
    System.out.print(“Nome do ficheiro: ");
    nomeFicheiro = Le.umaString();
    File fich= new File(nomeFicheiro);

    // testa leitura
    if (fich.exists() && fich.canRead())
    {
      // Cria os canais
      BufferedReader fichEnt
        = new BufferedReader(new FileReader(fich));




                                                           27
Exemplo2
// Le do ficheiro
    proxValor = fichEnt.read();
    while (proxValor != -1){
      proxCar = (char) proxValor;
      if (Character.isDigit(proxCar)){
        numDigitos++;
      }
      else if (Character.isUpperCase(proxCar)){
        numMaius++;
      }
      else if (Character.isLowerCase(proxCar)){
        numMinu++;
      }
      else {
        numOutros++;
      }
      proxValor = fichEnt.read();
    }



                                                  28
Exemplo2
                                              Nome do Ficheiro: ContaCar.java
                                      
                                              Numero de digitos: 7
     //fecha canal                            Numero de letras maisculas: 96
     fichEnt.close();                         Numero de letras minusculas: 1001
     //Mostra resultados                      Numero de outros caracteres: 832
     System.out.print(“Numero de digitos: “);
     System.out.println( numDigitos);
     System.out.print(“Numero de letras maisculas: “);
     System.out.println( numMaius);
     System.out.print(“Numero de letras minusculas: “);
     System.out.println( numMinu);
     System.out.print(“Numero de outros caracteres: “);
     System.out.println( numOutros);
    }
    else {
             System.out.print(“não é possível ler ficheiro: “);
             System.out.println(nomeEntrada);
  }
 }
}

                                                         29
Exemplo3 - Ficheiro Texto
Leitura de um Ficheiro e separação de
Ficheiro: accoes.dat dados
ACME 6/1/96 50 46.5 49.75
SP500 6/2/96 124 122 123.5
DWMI 6/1/96 24.5 22.25 24.5



                    Pretende-se manipular um ficheiro (accoes.dat), no
                    qual cada linha contem o registo de uma sessão da
                    bolsa sobre um grupo de acções:
                    Nome da acção, data do registo, valor mais alto
                    obtido, valor mais baixo obtido, valor de fecho.



                                                              30
Exemplo3 - Ficheiro Texto
Leitura de um Ficheiro e separação de
               dados
import java.io.*;
import java.util.*;

public class stock_data {

  public static void main(String args[])
    {
       String nome_accao;
       Date data_registo;
       float valor_alto, valor_baixo, valor_fecho;

        try {
           String linha_str;
           int linha_numero;

            File fich= new File("accoes.dat");

            // Cria os canais
            BufferedReader fichEnt
            = new BufferedReader(new FileReader(fich));

                                                     31
Exemplo3 - Ficheiro Texto
    Leitura de um Ficheiro e separação de
                dados(cont.)

while ((linha_str = fichEnt.readLine()) != null)
{
  StringTokenizer st = new StringTokenizer(linha_str);
  // extrai tokens e os converte para os tipos apropriados

nome_accao     =   st.nextToken();
data_registo   =   new Date(st.nextToken());
valor_alto     =   Float.valueOf(st.nextToken()).floatValue();
valor_baixo    =   Float.valueOf(st.nextToken()).floatValue();
valor_fecho    =   Float.valueOf(st.nextToken()).floatValue();




                                                     32
Exemplo3 - Ficheiro Texto
Leitura de um Ficheiro e separação de
            dados (cont.)
         // mostra resultado
          System.out.println("nome da Accao :" + nome_accao);
          System.out.println("Data Registo :" + data_registo);
          System.out.println("valores: Alto:" + valor_alto +
          " Baixo:" + valor_baixo + " Fecho:" + valor_fecho);
          System.out.println();
        }
        fichEnt.close();
     }
     catch (IOException e)
     {
       System.out.println("Erro I/O: " + e);
     }
    }
}




                                                    33

Contenu connexe

Tendances

Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)Armando Daniel
 
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Leinylson Fontinele
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosAula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosDaniel Brandão
 
BD I - Aula 08 B - Algebra Relacional - Exercicios Resolucao
BD I - Aula 08 B - Algebra Relacional - Exercicios ResolucaoBD I - Aula 08 B - Algebra Relacional - Exercicios Resolucao
BD I - Aula 08 B - Algebra Relacional - Exercicios ResolucaoRodrigo Kiyoshi Saito
 
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
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonPriscila Mayumi
 
Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Elaine Cecília Gatto
 
Escrever e ler arquivos com java
Escrever e ler arquivos com javaEscrever e ler arquivos com java
Escrever e ler arquivos com javaMoisesInacio
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 
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
 
Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)Sérgio Souza Costa
 
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com JavaExercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com JavaLoiane Groner
 

Tendances (20)

Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
 
Linguagem C - Estruturas
Linguagem C - EstruturasLinguagem C - Estruturas
Linguagem C - Estruturas
 
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
 
Linguagem C - Strings
Linguagem C - StringsLinguagem C - Strings
Linguagem C - Strings
 
Aula 07 - lista linear
Aula 07 - lista linearAula 07 - lista linear
Aula 07 - lista linear
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosAula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
 
BD I - Aula 08 B - Algebra Relacional - Exercicios Resolucao
BD I - Aula 08 B - Algebra Relacional - Exercicios ResolucaoBD I - Aula 08 B - Algebra Relacional - Exercicios Resolucao
BD I - Aula 08 B - Algebra Relacional - Exercicios Resolucao
 
Estrutura de Dados - Ponteiros
Estrutura de Dados - PonteirosEstrutura de Dados - Ponteiros
Estrutura de Dados - Ponteiros
 
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
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
 
Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)
 
Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1
 
Escrever e ler arquivos com java
Escrever e ler arquivos com javaEscrever e ler arquivos com java
Escrever e ler arquivos com java
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
 
Lógica de Programação - Vetor
Lógica de Programação - VetorLógica de Programação - Vetor
Lógica de Programação - Vetor
 
Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)
 
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com JavaExercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
 

Similaire à Ficheiros em JAVA

Introdução a Java IO
Introdução a Java IOIntrodução a Java IO
Introdução a Java IOrdgse
 
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
 
Apresentação java io
Apresentação java ioApresentação java io
Apresentação java ioSilvino Neto
 
java.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivosjava.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivosMarcello Thiry
 
Java recursos avançados - streams
Java   recursos avançados - streamsJava   recursos avançados - streams
Java recursos avançados - streamsArmando Daniel
 
F I C+ + L P 05
F I C+ + L P 05F I C+ + L P 05
F I C+ + L P 05t34m0nana
 
Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialFabio Spanhol
 
Python e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentestPython e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentestEdson Celio
 
Java básico - módulo 03: captura de dados
Java  básico - módulo 03: captura de dadosJava  básico - módulo 03: captura de dados
Java básico - módulo 03: captura de dadosProfessor Samuel Ribeiro
 

Similaire à Ficheiros em JAVA (20)

Introdução a Java IO
Introdução a Java IOIntrodução a Java IO
Introdução a Java IO
 
Entrada e Saída
Entrada e SaídaEntrada e Saída
Entrada e Saída
 
Java 15
Java 15Java 15
Java 15
 
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/
 
Java Básico :: Stream
Java Básico :: StreamJava Básico :: Stream
Java Básico :: Stream
 
Apresentação java io
Apresentação java ioApresentação java io
Apresentação java io
 
java.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivosjava.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivos
 
Aula Persistência 01 (Java)
Aula Persistência 01 (Java)Aula Persistência 01 (Java)
Aula Persistência 01 (Java)
 
Java recursos avançados - streams
Java   recursos avançados - streamsJava   recursos avançados - streams
Java recursos avançados - streams
 
F I C+ + L P 05
F I C+ + L P 05F I C+ + L P 05
F I C+ + L P 05
 
Java9
Java9Java9
Java9
 
Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo Tutorial
 
Python e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentestPython e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentest
 
Python2.5.ppt
Python2.5.pptPython2.5.ppt
Python2.5.ppt
 
Java básico - módulo 03: captura de dados
Java  básico - módulo 03: captura de dadosJava  básico - módulo 03: captura de dados
Java básico - módulo 03: captura de dados
 
ptt
pttptt
ptt
 
C 1
C 1C 1
C 1
 
10 io
10 io10 io
10 io
 
Ud2
Ud2Ud2
Ud2
 

Plus de Pedro De Almeida

Java memory model primary ref. - faq
Java memory model   primary ref. - faqJava memory model   primary ref. - faq
Java memory model primary ref. - faqPedro De Almeida
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsPedro De Almeida
 
XSD Incomplete Overview Draft
XSD Incomplete Overview DraftXSD Incomplete Overview Draft
XSD Incomplete Overview DraftPedro De Almeida
 
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1Pedro De Almeida
 
Validation of a credit card number
Validation of a credit card numberValidation of a credit card number
Validation of a credit card numberPedro De Almeida
 
Sessão 10 Códigos Cíclicos
Sessão 10 Códigos CíclicosSessão 10 Códigos Cíclicos
Sessão 10 Códigos CíclicosPedro De Almeida
 
Sessao 9 Capacidade de canal e Introdução a Codificação de canal
Sessao 9 Capacidade de canal e Introdução a Codificação de canalSessao 9 Capacidade de canal e Introdução a Codificação de canal
Sessao 9 Capacidade de canal e Introdução a Codificação de canalPedro De Almeida
 
Sessão 8 Codificação Lempel-Ziv
Sessão 8 Codificação Lempel-ZivSessão 8 Codificação Lempel-Ziv
Sessão 8 Codificação Lempel-ZivPedro De Almeida
 
Sessao 7 Fontes com memória e codificação aritmética
Sessao 7 Fontes com memória e codificação aritméticaSessao 7 Fontes com memória e codificação aritmética
Sessao 7 Fontes com memória e codificação aritméticaPedro De Almeida
 
Sessao 5 Redundância e introdução à codificação de fonte
Sessao 5 Redundância e introdução à codificação de fonteSessao 5 Redundância e introdução à codificação de fonte
Sessao 5 Redundância e introdução à codificação de fontePedro De Almeida
 
Sessão 6 codificadores estatísticos
Sessão 6 codificadores estatísticosSessão 6 codificadores estatísticos
Sessão 6 codificadores estatísticosPedro De Almeida
 
Sessao 4 - Chaves espúrias e distância de unicidade
Sessao 4 - Chaves espúrias e distância de unicidadeSessao 4 - Chaves espúrias e distância de unicidade
Sessao 4 - Chaves espúrias e distância de unicidadePedro De Almeida
 
Sessao 3 Informação mútua e equívocos
Sessao 3 Informação mútua e equívocosSessao 3 Informação mútua e equívocos
Sessao 3 Informação mútua e equívocosPedro De Almeida
 
Sessao 2 Introdução à T.I e Entropias
Sessao 2 Introdução à T.I e EntropiasSessao 2 Introdução à T.I e Entropias
Sessao 2 Introdução à T.I e EntropiasPedro De Almeida
 
Cripto - Introdução, probabilidades e Conceito de Segurança
Cripto - Introdução, probabilidades e Conceito de SegurançaCripto - Introdução, probabilidades e Conceito de Segurança
Cripto - Introdução, probabilidades e Conceito de SegurançaPedro De Almeida
 

Plus de Pedro De Almeida (20)

APM Model in .NET - PT-pt
APM Model in .NET - PT-ptAPM Model in .NET - PT-pt
APM Model in .NET - PT-pt
 
Java memory model primary ref. - faq
Java memory model   primary ref. - faqJava memory model   primary ref. - faq
Java memory model primary ref. - faq
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e Threads
 
IP Multicast Routing
IP Multicast RoutingIP Multicast Routing
IP Multicast Routing
 
XSD Incomplete Overview Draft
XSD Incomplete Overview DraftXSD Incomplete Overview Draft
XSD Incomplete Overview Draft
 
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1
 
Validation of a credit card number
Validation of a credit card numberValidation of a credit card number
Validation of a credit card number
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Excepções JAVA
Excepções JAVAExcepções JAVA
Excepções JAVA
 
Sessão 10 Códigos Cíclicos
Sessão 10 Códigos CíclicosSessão 10 Códigos Cíclicos
Sessão 10 Códigos Cíclicos
 
Sessao 9 Capacidade de canal e Introdução a Codificação de canal
Sessao 9 Capacidade de canal e Introdução a Codificação de canalSessao 9 Capacidade de canal e Introdução a Codificação de canal
Sessao 9 Capacidade de canal e Introdução a Codificação de canal
 
Sessão 8 Codificação Lempel-Ziv
Sessão 8 Codificação Lempel-ZivSessão 8 Codificação Lempel-Ziv
Sessão 8 Codificação Lempel-Ziv
 
Sessao 7 Fontes com memória e codificação aritmética
Sessao 7 Fontes com memória e codificação aritméticaSessao 7 Fontes com memória e codificação aritmética
Sessao 7 Fontes com memória e codificação aritmética
 
Sessao 5 Redundância e introdução à codificação de fonte
Sessao 5 Redundância e introdução à codificação de fonteSessao 5 Redundância e introdução à codificação de fonte
Sessao 5 Redundância e introdução à codificação de fonte
 
Sessão 6 codificadores estatísticos
Sessão 6 codificadores estatísticosSessão 6 codificadores estatísticos
Sessão 6 codificadores estatísticos
 
Sessao 4 - Chaves espúrias e distância de unicidade
Sessao 4 - Chaves espúrias e distância de unicidadeSessao 4 - Chaves espúrias e distância de unicidade
Sessao 4 - Chaves espúrias e distância de unicidade
 
Sessao 3 Informação mútua e equívocos
Sessao 3 Informação mútua e equívocosSessao 3 Informação mútua e equívocos
Sessao 3 Informação mútua e equívocos
 
Sessao 2 Introdução à T.I e Entropias
Sessao 2 Introdução à T.I e EntropiasSessao 2 Introdução à T.I e Entropias
Sessao 2 Introdução à T.I e Entropias
 
Cripto - Introdução, probabilidades e Conceito de Segurança
Cripto - Introdução, probabilidades e Conceito de SegurançaCripto - Introdução, probabilidades e Conceito de Segurança
Cripto - Introdução, probabilidades e Conceito de Segurança
 
Basic java tutorial
Basic java tutorialBasic java tutorial
Basic java tutorial
 

Dernier

Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 

Dernier (20)

Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 

Ficheiros em JAVA

  • 2. O que é um Canal  Em JAVA, todas os aspectos que se relacionam com as diferentes formas de se realizar a leitura e a escrita de dados a partir de uma fonte e para um destino, são reunidas, e abstraídas, no conceito de canal.  Um Canal é uma abstracção que pode representar quer uma fonte genérica de entrada de dados ou um destino genérico para escrita de dados de acesso sequencial e independente de dispositivos físicos concretos, formatos ou até de mecanismos de optimização de leitura e escrita.  Em JAVA, existem duas grandes classes de canais, designadamente:  Canais de caracteres (canais de texto)  Canais de bytes (canais binárias) 2
  • 3. Classes Base  Todos as classes , que implementam formas particulares de Leitura e Escrita em canais, são derivadas de quatro classes abstractas, são elas:  Para os canais de bytes: InputStream e OutputStream  Para os canais de caracteres: Reader e Writer (associados aos ficheiros)  Estas classes sendo abstractas definem o conjunto de métodos que uma qualquer implementação de tais canais deverá concretizar.  JAVA oferece serviços básicos de Entrada e Saída através de dois canais associados respectivamente às operações de bytes associada a leitura do teclado ou a e escrita no monitor:  System.in: Leitura no teclado  System.out: Escrita no monitor 3
  • 4. Canal de leitura: System.in  System.in: É o canal de leitura standard  Por omissão lê o teclado  Podemos usar System.in de várias maneiras  Directamente (acesso básico)  Em conjunto com outros canais (acesso combinado) 4
  • 5. Wrappers & Buffers O package java.io está inteligentemente desenhado. InputStreamReader Algumas das classes funcionam como classes embrulho (wrapper classes) e destinam-se a acrescentar System.in funcionalidade aos canais existentes. Por Exemplo: •InputStreamReader: Permite ler um caracter do teclado sem ser necessário converte-lo manualmente. InputStreamReader (read()) System.in •BufferedReader: Permite ler uma cadeia de caracteres do teclado sem ser necessário converte-lo manualmente BufferedReader (readLine()). 5
  • 6. Ler do teclado (Java 1.4) try { BufferedReader r = new BufferedReader( new InputStreamReader(System.in)); String s = r.readLine() ; int i = (new Integer(s)).intValue() ; System.out.println(i) ; } catch (IOException e) { } 6
  • 7. Canais de Bytes ByteArrayInputStream DataInputStream DataInput FileInputStream BufferedInputStream FilterInputStream LineNumberInputStream InputStream SequenceInputStream PushBackInputStream PipedInputStream ObjectInputStream ObjectInput Object StringBufferInputStream ByteArrayOutputStream FileOutputStream BufferedOutputStream OutputStream FilterOutputStream DataOutputStream DataOutput PipedOutputStream PrintStream ObjectOutputStream ObjectOutput RandomAccessFile 7
  • 8. Canais de Caracteres CharArrayReader InputStreamReader FileReader FilterReader PushBackReader Reader StringReader PipedReader BufferedReader LineNumberReader Object BufferedWriter CharArrayWriter OutputStreamWriter FileWriter Writer FilterWriter PipedWriter PrintWriter StringWriter StreamTokenizer 8
  • 9. Classe Scanner (JAVA 5.0)  A classe Scanner, introduzida com a versão J2SE 5.0, é uma classe nova que permite converter o texto para tipos primitivos.  java.util.Scanner  O texto pode ser obtido das mais diversas fontes tais como objectos do tipo:  Strings  InputStream  Ficheiros  A classe Scanner permite separar o texto em tokens, que são sequências de caracteres separados por delimitadores.  Por defeito, os delimitadores são os espaços em branco, tabs e mudanças de linha. 9
  • 10. Leitura do Teclado  Para ler de forma confortável texto do canal de entrada padrão, é preciso criar primeiro um Scanner sobre canal System.in que esta associado ao teclado Scanner sc = new Scanner(System.in);  Para cada um dos tipos primitivos há um método correspondente com a assinatura nextXxx() que retorne um valor desse tipo.  Se a string não puder ser interpretada como sendo deste tipo, é lançado uma excepção do tipo InputMismatchException.  Exemplos de algumas leituras de tokens:  String aToken = sc.next() ; //Lê um token  int num1 = sc.nextInt() ; //Lê um token inteiro  double num2 = sc.nextDouble() ; //Lê um token real  String linha = sc.nextLine() ; //Lê uma linha 10
  • 11. Exemplo: Ler do teclado (Java 5.0) import java.io.*; import java.util.*; class ExScanner{ public static void main(String[] args) { { Scanner scanTeclado = new Scanner(System.in); System.out.println ("Introduza um inteiro"); try { int num = scanTeclado.nextInt(); System.out.println ("Numero introduzido:" + num); } catch (InputMismatchException e) { System.out.println ("Erro na leitura do valor:" + e ); } } } 11
  • 12. Exemplo: Ler do teclado (Java 5.0) import java.io.*; import java.util.*; class ExScanner{ public static void main(String[] args) { { String str = "Vamos experimentar o scanner"; Scanner scanStr = new Scanner(str); while (scanStr.hasNext()) { System.out.println ("Token:" + scanStr.next()); } } } } 12
  • 13. Exemplo: Ler do teclado (Java 5.0) Ler int (e.g. 3501): Introduziu 123 import java.io.*; import java.util.*; Ler float (e.g. 2,43): Introduziu 2.34 public class ScanConsoleApp{ public static void main (String arg[]) { // Cria um scanner para ler do teclado Scanner scanner = new Scanner (System.in); try { System.out.printf (“Ler int (e.g. %4d): ",3501); int int_val = scanner.nextInt (); System.out.println (" Introduziu " + int_val +"n"); System.out.printf (“Ler float (e.g. %5.2f): ", 2.43); float float_val = scanner.nextFloat (); System.out.println (" Introduziu " + float_val +"n"); } catch (InputMismatchException e) { System.out.println (“Erro na leitura do valor:" + e ); } } } 13
  • 14. Ficheiros  Um ficheiro é uma entidade de armazenamento de informação permanente.  A manipulação de ficheiros é feita pela utilização de canais que derivam das classes: InputStream; Reader; OutputStream; Writer.  Os ficheiros, de acordo com o tipo de informação que podem armazenar, podem ser classificada em: Ficheiros de Texto (Orientado ao caracter)  Derivam das classes : Reader e Writer.  Fácil de ser lido por humanos com ferramentas simples (type, more, edit, ...).  Linhas com comprimento variável.  Cada linha termina com uma marca.  Exemplo: ficheiro com código-fonte em Java. Ficheiro de Dados (Orientado ao byte)  Derivam das classes : InputStream e OutputStream.  Apropriado para o processamento por ferramentas automáticas.  Armazenamento de tipos primitivos, serialização de objectos, etc.  Armazenamento independente da plataforma. 14
  • 15. A Classe File  A classe File representa os ficheiros e directorias de um sistemas de ficheiros.  Esta classe define métodos para a realização das operações sobre ficheiros e directorias:  listagem de directorias  apagar um ficheiro  determinar atributos de um ficheiro, alterar o seu nome, etc.  Definição:  File entFich = new File(cadeia de caracteres); 15
  • 16. Os métodos da Classe File CONSTRUTORES  File(String caminho) construtor de directórios/ficheiros  File(String caminho,String nome) construtor com nome separado do caminho  File(String directorio, String nome) construtor com directório e nome do ficheiro MÉTODOS  boolean canRead() ficheiro/directório pode ser lido  boolean canWrite() pode-se gravar no ficheiro/directório  boolean delete() apaga ficheiro/directório  boolean exists() verifica se ficheiro/directório existem  boolean isAbsolute() verifica se caminho é absoluto  boolean isDirectory() verifica se objecto é directório  boolean isFile() verifica se objecto é ficheiro  boolean mKdir() cria directório do objecto  boolean mKdirs() cria directórios do caminho  boolean renameTo(String novo) muda nome do ficheiro/directório para novo 16
  • 17. Exemplo: Classe File import java.io.*; class Exemplo { public static void main(String[] args) throws IOException { File meuFicheiro = new File(”dados.dat”); if (meuFicheiro.exists()) System.out.println(“dados.dat existe"); else System.out.println(" dados.dat não existe"); } } Testa a existência do ficheiro “dados.dat” 17
  • 18. Escrita Ficheiro de Texto  Passos necessários para criar um ficheiro de Texto  Criar um objecto do tipo File. Permite manipular diversos atributos de um ficheiro.  Criar um canal FileWriter ligado ao objecto File. Permite associar um ficheiro de texto a um canal de escrita.  Criar um canal tampão BufferedWriter ligado ao objecto FileWriter. Maior eficiência na escrita de um ficheiro.  Criar um canal PrintWriter ligado ao objecto BufferedWriter. Permite a utilização dos métodos print e println. 18
  • 19. Escrita com PrintWriter import java.io.*; public class PrintWriterFileApp{ public static void main (String arg[]) { File file = null; file = new File ("textOutput.txt"); try { FileWriter file_writer = new FileWriter (file); BufferedWriter buf_writer = new BufferedWriter (file_writer); PrintWriter print_writer = new PrintWriter (buf_writer); print_writer.println ("Saida com PrintWriter."); print_writer.println ("tipos primitivos convertidos em strings:"); boolean a_boolean = false; int an_int = 1234567; print_writer.println (a_boolean); print_writer.println (an_int); } catch (IOException ioe){ System.out.println("IO Exception"); } } } 19
  • 20. Escrita num ficheiro de Texto (formatado) import java.io.*; public class PrintWriterFileApp{ public static void main (String arg[]) { File file = null; file = new File ("textOutput.txt"); Formatter formatter; try { formatter = new Formatter (file); formatter.format ("Saida com PrintWriter. %n"); formatter.format ("tipos primitivos convertidos em strings: %n"); boolean a_boolean = false; int an_int = 1234567; double a_double = -4.297e-15; formatter.format ("boolean = %9b %n", a_boolean); formatter.format ("int = %9d %n", an_int); formatter.format ("double = %9.2e %n", a_double); formatter.flush (); formatter.close (); } catch (IOException ioe){ System.out.println("IO Exception"); } }} 20
  • 21. Escrita num ficheiro de Texto (formatado) formatter.format ("Saida com PrintWriter. %n"); %n –> mudança de linha Ficheiro textOutput.txt : Saida com PrintWriter. Tipos primitivos convertidos em strings: boolean = false int = 1234567 double = -4.30e-15 21
  • 22. Leitura Ficheiro de Texto  Leitura com Scanner  Leitura com File Reader  Criar um objecto do tipo File Permite manipular diversos atributos de um ficheiro.  Criar um canal FileReader ligado ao objecto do tipo File Permite a leitura de um ficheiro escrito em formato ASCII.  Criar um canal tampão BufferedReader ligado objecto do tipo FileReader Maior eficiência na leitura de um ficheiro . 22
  • 23. Leitura com Scanner import java.io.*; Ficheiro textInput.txt: import java.util.*; 123 Primeiro public class LeituraFicheiro { 234 Segundo public static void main (String arg[]) { Saida: File file = new File ("textInput.txt"); Numero inteiro lido: 123 Scanner scanner = null; Primeiro try { Numero inteiro lido: 234 scanner = new Scanner (file); Segundo while( scanner.hasNext()) Finished executing { int num = scanner.nextInt(); System.out.println ("Numero inteiro lido: " +num); System.out.println (scanner.next()); } } catch (InputMismatchException e) { System.out.println ("Mismatch exception:" + e ); } catch (FileNotFoundException e) { System.out.println ("Ficheiro não encontrado!"); System.exit (0); } }} 23
  • 24. Leitura com FileReader (Ex.1) Le um ficheiro de texto. import java.io.*; Envia para o ecrã cada linha lida. import java.util.*; class LeFicheiro { public static void main(String[] args) throws IOException { String linha; File f; FileReader fich; BufferedReader entrada = null; 24
  • 25. Leitura com FileReader (Ex.1) try { f = new File("meuFich.dat"); fich = new FileReader(f); entrada = new BufferedReader(fich); do { linha = entrada.readLine(); if (linha != null ) System.out.println(linha); } while (linha != null); } 25
  • 26. Leitura com FileReader (Ex1) catch ( IOException e) { System.out.println("Erro de I/O."); System.out.print(e); } finally { System.out.println("fim do programa."); if (entrada != null) entrada.close(); } } } 26
  • 27. Exemplo 2 import java.io.*; class ContaDigitoCaracter{ public static void main(String[] args) throws IOException { int proxValor, numMaius=0, numMinu=0, numDigitos=0, numOutros=0; char proxCar; Lê um ficheiro e retorna os números de: String nomeFicheiro; digitos; letras maisculas; letras minusculas e outros caracteres // Obtem ficheiro do utilizar System.out.print(“Nome do ficheiro: "); nomeFicheiro = Le.umaString(); File fich= new File(nomeFicheiro); // testa leitura if (fich.exists() && fich.canRead()) { // Cria os canais BufferedReader fichEnt = new BufferedReader(new FileReader(fich)); 27
  • 28. Exemplo2 // Le do ficheiro proxValor = fichEnt.read(); while (proxValor != -1){ proxCar = (char) proxValor; if (Character.isDigit(proxCar)){ numDigitos++; } else if (Character.isUpperCase(proxCar)){ numMaius++; } else if (Character.isLowerCase(proxCar)){ numMinu++; } else { numOutros++; } proxValor = fichEnt.read(); } 28
  • 29. Exemplo2 Nome do Ficheiro: ContaCar.java  Numero de digitos: 7 //fecha canal Numero de letras maisculas: 96 fichEnt.close(); Numero de letras minusculas: 1001 //Mostra resultados Numero de outros caracteres: 832 System.out.print(“Numero de digitos: “); System.out.println( numDigitos); System.out.print(“Numero de letras maisculas: “); System.out.println( numMaius); System.out.print(“Numero de letras minusculas: “); System.out.println( numMinu); System.out.print(“Numero de outros caracteres: “); System.out.println( numOutros); } else { System.out.print(“não é possível ler ficheiro: “); System.out.println(nomeEntrada); } } } 29
  • 30. Exemplo3 - Ficheiro Texto Leitura de um Ficheiro e separação de Ficheiro: accoes.dat dados ACME 6/1/96 50 46.5 49.75 SP500 6/2/96 124 122 123.5 DWMI 6/1/96 24.5 22.25 24.5 Pretende-se manipular um ficheiro (accoes.dat), no qual cada linha contem o registo de uma sessão da bolsa sobre um grupo de acções: Nome da acção, data do registo, valor mais alto obtido, valor mais baixo obtido, valor de fecho. 30
  • 31. Exemplo3 - Ficheiro Texto Leitura de um Ficheiro e separação de dados import java.io.*; import java.util.*; public class stock_data { public static void main(String args[]) { String nome_accao; Date data_registo; float valor_alto, valor_baixo, valor_fecho; try { String linha_str; int linha_numero; File fich= new File("accoes.dat"); // Cria os canais BufferedReader fichEnt = new BufferedReader(new FileReader(fich)); 31
  • 32. Exemplo3 - Ficheiro Texto Leitura de um Ficheiro e separação de dados(cont.) while ((linha_str = fichEnt.readLine()) != null) { StringTokenizer st = new StringTokenizer(linha_str); // extrai tokens e os converte para os tipos apropriados nome_accao = st.nextToken(); data_registo = new Date(st.nextToken()); valor_alto = Float.valueOf(st.nextToken()).floatValue(); valor_baixo = Float.valueOf(st.nextToken()).floatValue(); valor_fecho = Float.valueOf(st.nextToken()).floatValue(); 32
  • 33. Exemplo3 - Ficheiro Texto Leitura de um Ficheiro e separação de dados (cont.) // mostra resultado System.out.println("nome da Accao :" + nome_accao); System.out.println("Data Registo :" + data_registo); System.out.println("valores: Alto:" + valor_alto + " Baixo:" + valor_baixo + " Fecho:" + valor_fecho); System.out.println(); } fichEnt.close(); } catch (IOException e) { System.out.println("Erro I/O: " + e); } } } 33