[Resolvido] Gravar Arquivo Binário

E ae Pessoa beleza?! Tenho que criar um arquivo binário para guardar o estado de um vetor de registros, porém o arquivo é criado mais nada é gravado dentro dele. O que há de errado? Segue meu código abaixo:

Aqui está o Registro (Classe):

import java.io.Serializable;

public class Produto implements Serializable {
    public int codigo;
    public String nome;
    public int qtd;
    public double preco;    
}  

Aqui eu crio o vetor de 100 posições:

Produto p[] =new Produto [100] ; 

Aqui está o código para gravar o estado do registro (classe) em um arquivo binário:

[code]
public static void gravar (Produto[] p, int n){

    int i;
    
    File binaryFile = new File ("Produtos.dat");
    
    try{            
        FileOutputStream fos = new FileOutputStream(binaryFile);
        ObjectOutputStream oos = new ObjectOutputStream(fos);

        // escreve todos os produtos do registro no arquivo
        for (i=0;i<n;i++){                
           oos.writeObject (p[i]);           
        }

        // fecha o arquivo
        oos.close();
        fos.close();            
    }
    catch(IOException e)
    {
        System.err.println(e.getMessage());
    }
}    
[/code]     

E ai pessoal qual o problema do meu código? Sou novo em java.

Cara isso que você ta fazendo não tem nada de salvar o conteúdo em binário, o que você esta fazendo
e simplesmente salvando o estado do seu objeto através do processo de serialização.
Para efetivar a escrita do objeto falta um flush antes de você fechar o arquivo;

// fecha o arquivo  
oos.close();

faça assim…

// fecha o arquivo  
oos.flush();
oos.close();

Valew jweibe funcionou, agora sim está escrevendo corretamente. :smiley: