ProgressBar X Leitura de Arquivo Serializado

ola para todos.

gostaria de saber se alguem pode me ajudar a atribuir os valores de uma progress bar para um readobject() de um ObjectInputStream

se eu tenho que implementar uma classe ou o que eu posso fazer.

no aguardo

Andre.

Deixe o “progress bar” como indeterminado, já que você não tem como saber quantos bytes ocupam os dados serializados.

desculpa mais eu não intendi o que vc quis dizer
acho que não fui especifico.
eu preciso que o meu progress bar ande de acordo com que o readObject() carregue os dados.

Você já tem o arquivo em mãos, ou é algo que você não sabe o tamanho (por exemplo, o tal ObjectInputStream é um encapsulamento de um socket ou coisa parecida?)

Se você tiver o arquivo em mãos, você pode fazer o seguinte: em vez de reescrever o ObjectInputStream, você escreve um encapsulamento sobre o FileInputStream. Vou dar um exemplo:

interface ProgressListener {
    void progress (double percent, String message);
}
class ProgressInputStream extends InputStream {
    public ProgressInputStream (InputStream inps, ProgressListener progressListener, long totalSize) {
        this.inps = inps; this.progressListener = progressListener; this.totalSize = totalSize;
        this.totalBytesRead = 0;
    }
    private long totalBytesRead;
    public int read(byte[] b,
                int off,
                int len)
         throws IOException {
        int nBytes = inps.read (b, off, len); 
        if (progressListener != null) {
            totalBytesRead += nBytes;
            progressListener.progress (totalBytesRead / totalSize, "");
        }
        return nBytes;
    }
    public int read () ....
    public int read (byte[] b) ....
}

e

     ProgressListener progressListener = ...;
     ObjectInputStream ois = new ObjectInputStream (new ProgressInputStream (new FileInputStream (new File ("object.bin")), 
        progressListener, new File ("object.bin").length());