30.06.2013 Views

Apostila Java

Apostila Java

Apostila Java

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Manipulação de arquivos seqüenciais<br />

A manipulação de arquivos, seqüenciais ou randômicos, passa pela construção de objetos da classe<br />

java.io.File, que provê, além do acesso físico ao arquivo, uma série de métodos que facilitam o<br />

controle sobre o conteúdo e as informações básicas desses arquivos, como data da última modificação,<br />

tamanho, etc.<br />

Criando objetos do tipo File:<br />

// construtor de objeto arquivo no diretório corrente<br />

File arquivo = new File("origem.txt");<br />

// construtor com diretório especificado no construtor<br />

File arquivo = new File("/dados/", "origem.txt");<br />

// Uso de variáveis para a identificação do diretório<br />

// e do arquivo a ser aberto<br />

String diretório = "/";<br />

String arquivo = "teste.txt";<br />

File arquivo = new File(diretório, arquivo);<br />

A partir de um objeto do tipo File, você pode criar Streams de entrada ou saída, conforme mostra o<br />

exemplo abaixo:<br />

/**<br />

* Método de leitura de arquivos texto.<br />

* @param arquivo O objeto associado a um arquivo<br />

*/<br />

static public byte[] carregar(File arquivo)<br />

throws Exception<br />

{<br />

FileInputStream dispositivoDeEntrada =<br />

new FileInputStream(arquivo);<br />

byte[] conteudo = new byte[dispositivoDeEntrada.available()];<br />

dispositivoDeEntrada.read(conteudo);<br />

return conteudo;<br />

}<br />

/**<br />

* Método de gravação em arquivos texto.<br />

* @param arquivo O objeto associado a um arquivo<br />

* @param conteúdo O texto a ser escrito no arquivo<br />

*/<br />

static public void salvar(File arquivo, String conteudo)<br />

throws IOException, Exception<br />

{<br />

FileOutputStream streamDeSaida = new FileOutputStream(arquivo);<br />

streamDeSaida.write(conteudo.getBytes());<br />

streamDeSaida.close();<br />

}<br />

Apesar das classes FileInputStream e FileOutputStream permitirem a passagem do nome dos arquivos<br />

em seus construtores, é fortemente recomendado que você sempre crie um objeto da classe File para<br />

122

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!