3 - Elementos avançados de I/O

Os objetos DataOutputStream e DataInputStream permitem, respectivamente, a gravação e a leitura de arquivos binários. O objeto DataOutputStream se encarrega de converter os tipos de dados primitivos do java em uma sequência de bytes e usa o objeto FIleOutputStream para escrever essas informações binárias no arquivo. De forma análoga, o objeto DataInputStream recebe do objeto FileInputStream uma sequência de bytes e se encarrega de convertê-la em informações no formato dos tipos primitivos de dados do java.

Também são muito utilizados os métodos PrintWriter, que recebe uma sequência de bytes e grava em formato de texto. O objeto BufferedReader permite a leitura de um arquivo de texto. Apresentamos a seguir um exemplo de gravação e leitura de um arquivo.

Exemplo_ 2_4_4: gravação e leitura de arquivos binários

import java.io.*;

public class exemplo_2_4_3 {
    public static void main (String[] args) throws IOException {
            //GRAVAÇÃO DO ARQUIVO
                //Configuração do arquivo e do objeto FileOutputStream
        File outFile = new File("teste.dat");
        FileOutputStream outFileStream = new FileOutputStream(outFile);
        PrintWriter outStream = new PrintWriter(outFileStream);
        //Escreve os dados para a sequencia de bytes
        outStream.println(1000);
        outStream.println('A');
        outStream.println(true);
        //Fecha a stream
        outStream.close();
        
                //LEITURA DO ARQUIVO
        File inFile = new File("teste.dat");
                //Configura o objeto BufferedReader
        FileReader fileReader = new FileReader(inFile);
        BufferedReader bufReader= new BufferedReader(fileReader);
                //Busca uma linha do arquivo de texto  e grava na variável str
        String str = bufReader.readLine( );
                //converte o valor lido para o format original e imprime na tela
        int i = Integer.parseInt(str);
        System.out.print(i);
        str = bufReader.readLine( );
        char c = str.charAt(0);
        System.out.print(c);
        bufReader.close();  
       }
}
Copyright © 2014 AIEC.