Sunteți pe pagina 1din 14

Manipulao de Arquivos

ST762 Laboratrio de Programao III Guilherme Palermo Coelho 2s2013

Arquivos em Java
! " Java intepreta arquivos como sequncias de bytes; ! Sistema Operacional avisa quando o acesso atingiu o final do arquivo; !

possvel manipular arquivos em Java de duas formas:


! " Streams de bytes: os dados lidos e gravados em arquivos

so manipulados como sequncias de bytes; ! Arquivos so chamados arquivos binrios; ! " Streams de caracteres: os dados lidos e gravados so manipulados como sequncias de caracteres; ! Em Unicode; ! Arquivos so chamados arquivos-texto;

Pacote java.io
!

Contm as classes necessrias para manipulao de arquivos em Java;


FileInputStream, FileOutputStream e subclasses;

! " Classes para manipulao de arquivos binrios:


!

! " Classes para manipulao de arquivos-texto:


!

FileReader, FileWriter e subclasses;

! " Classes adicionais que auxiliam no processo: ! java.util.Scanner ! muito usada para ler dados do teclado, pode ser redirecionada para um arquivo; ! java.util.Formatter ! permite gravar dados formatados em arquivos-texto.

Escrita em arquivos-texto

Escrita em arquivos-texto

Escrita em arquivos-texto

Leitura em arquivos-texto

Pacote java.io
!

Outra ferramenta muito til de Java: Serializao de Objetos;


Permite que o programador grave e leia tipos primitivos e objetos diretamente em arquivos, sem a necessidade de se preocupar com converses de tipos; ! " Para isso, usa-se as classes: ! ObjectInputStream; ! ObjectOutputStream; ! Combinadas com as classes FileInputStream e FileOutputStream
!

Object Serialization
!

Objetos Serializados ! convertidos em uma sequncia de bytes;


!

Esta sequncia contm os dados dos objetos e tambm informaes sobre o tipo do objeto e o tipo dos dados contidos neste objeto;

! " Para que um objeto de uma classe possa ser serializado, a

classe deve implementar a interface Serializable;


! !

uma interface de marcao (no contm mtodos); Todos os objetos internos a uma classe Serializable tambm devem ser Serializable; ! Caso contrrio devem ser declarados como transient; ! " So perdidos no processo.

Object Serialization

Object Serialization - escrita

Object Serialization - leitura

Classe java.io.File
!

Permite acessar informaes teis sobre algum arquivo ou diretrio do sistema:


!

Tamanho, se pode ser lido, se pode ser modificado, nome, caminho no sistema de arquivos (path) etc.

Os mtodos da classe File no realizam a manipulao de arquivos (leitura/escrita);


!

Podem ser usados em conjunto com objetos de outras classes.

Excees em java.io
! " As classes do pacote java.io fazem parte do conjunto de

classes de Java que lanam checked exceptions;


!

mandatrio tratar excees lanadas por objetos destas classes;

Ateno: como classes do pacote java.io manipulam arquivos, importante fechar os arquivos abertos sempre que ocorrerem excees!
!

Blocos finally podem ser usados para isso.

Mais informaes
Deitel, P. J. & Deitel, H. M. (2011) Java: How to Program. 9a Ed. Pearson. Captulo 17. Basic I/O - The Java Tutorials. Disponvel em: http:// docs.oracle.com/javase/tutorial/essential/io/.

S-ar putea să vă placă și