Buscar

EXTRA IO Arquivos - Aula IP CIn UFPE

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

10/4/10	
  
1	
  
Entrada e Saída em Arquivos 
mais eficiente 
não será visto no curso 
Java usa a biblioteca java.io 
para operar sobre arquivos 
PRIMEIRO: Criar um objeto 
que representa o arquivo 
10/4/10	
  
2	
  
public class RepositorioException extends Exception { 
 private Throwable exception; 
 public RepositorioException(Throwable exception) { 
 this.exception = exception; 
 } 
 public String getMessage() { 
 return exception.getMessage(); 
 } 
} 
public interface RepositorioContas { 
 void inserir(ContaAbstrata conta) 
 throws RepositorioException; 
 ContaAbstrata procurar(String numero) 
 throws RepositorioException, 
 ContaNaoEncontradaException; 
 //... 
} 
private void gravar(ContaAbstrata c) 
 throws RepositorioException { 
 BufferedWriter bwBanco = null; 
 FileWriter fwBanco = null; 
 try { 
 fwBanco = new FileWriter(fBanco); 
 bwBanco = new BufferedWriter(fwBanco); 
 bwBanco.write(c.getNumero()+" "+c.getSaldo()); 
 } catch (IOException e) { 
 throw new RepositorioException(e); 
 } finally { 
 // fecha os escritores 
 } 
} 
File fBanco = new File(“c:\\temp\arq.txt”); 
QUEM É ESSE? 
private ContaAbstrata ler () throws RepositorioException { 
 Scanner inBanco = null; 
 Conta resposta = null; 
 try { 
 inBanco = new Scanner(fBanco); 
 String numero = inBanco.next(); 
 double saldo = Double.parseDouble(inBanco.next()); 
 resposta = new Conta(numero,saldo); 
 } catch (FileNotFoundException e) { 
 throw new RepositorioException(e); 
 } finally { 
 inBanco.close(); 
 } 
 return resposta; 
} 
10/4/10	
  
3	
  
10/4/10	
  
4	
  
private void gravar(ContaAbstrata c) 
 throws RepositorioException { 
 FileOutputStream fosBanco = null; 
 ObjectOutputStream oosBanco = null; 
 try { 
 fosBanco = new FileOutputStream(fBanco); 
 oosBanco = new ObjectOutputStream(fosBanco); 
 oosBanco.writeObject(c); 
 } catch (IOException e) { 
 throw new RepositorioException(e); 
 } finally { 
 // fecha os escritores 
 } 
} A classe ContaAbstrata deve implementar 
a interface java.io.Serializable 
private ContaAbstrata ler() throws RepositorioException { 
 ContaAbstrata resposta = null; 
 FileInputStream fisBanco = null; 
 ObjectInputStream oisBanco = null; 
 try { 
 fisBanco = new FileInputStream(this.ARQUIVO); 
 oisBanco = new ObjectInputStream(fisBanco); 
 resposta = (ContaAbstrata) oisBanco.readObject(); 
 } catch (EOFException e) { ... } 
 // ... 
 } finally { 
 // fecha os leitores 
 } 
 return resposta; 
}

Outros materiais