Come ti ha giustamente fatto notare andbin la lettura del file devi farla in un thread separato altrimenti anche utilizzare la JProgressBar non ti aiuta.
La corretta procedura, quindi, è di inserire la lettura del file all'interno del metodo run della tua classe che deve implementare Runnable, aprire il file e leggerne la lunghezza (questo dato ti serve come parametro per il metodo setMaximum di JProgressBar), dopodiché mano a mano che acquisisci i bytes del file aggiorni la progress.

Il vantaggio di inserire la lettura di un file in un thread separato ti dà anche la possibilità di gestire un eventuale abort interrompendone il caricamento nel caso in cui il file fosse esageratamente grande