ProgressMonitorInputStream nie wyświetla się

ProgressMonitorInputStream nie wyświetla się
górek
  • Rejestracja:prawie 19 lat
  • Ostatnio:ponad 9 lat
0

Cześć

Próbuję odczytać plik skompresowany gzipem. plik jest spory i jego wczytywanie trwa dosyć długo wiec chciałem poinformować użytkownika ze coś się dzieje i wypadałoby poczekać, użyłem w tym celu ProgressMonitorInputStream. Ale nie wyświetla on okna podczas czytania pliku :(
Oto kod:

Kopiuj
InputStream fis=new BufferedInputStream(new GZIPInputStream(new FileInputStream("ds_15112.log.gz")));
ProgressMonitorInputStream pmis = new ProgressMonitorInputStream(null, "otwieranie", fis);

Co ciekawe jeżeli rozpakowałem plik i wywaliłem strumien GZInputStram wszystko działa jak trzeba.
Co jest ie tak ze nie wyświetla mi okna przy czytaniu plików *.gz ?

AlfaLeporis
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 10 lat
  • Lokalizacja:Polska
0

Nie wyświetla się, ponieważ program staje na wczytywaniu pliku, i jak już zakończy całą operację to dopiero wtedy wyświetli to okno. Tak mi przynajmniej mówi zdrowy rozsądek bo w Javie nie programuję.

górek
jak w takim razie wytłumaczysz ze jak wczytuje normalny plik (nie skompresowany) to wszystko jest ok ?
AlfaLeporis
Może wczytanie nieskompresowanego pliku zajmuje mu znacząco mniej czasu i dlatego okno wyświetla się szybciej?
górek
Ale ProgressMonitorInputStream odpowiada za wyświetlenie okna z paskiem postępu. okno to znika jak wczytywane pliku zostaje zakonczone. Chodzi o to ze okno sie nie pojawia a plik zostaje wczytany w całości. Próbowałem nawet opóźniać wczytywanie (przez Thread.sleep(100)) żeby dać wiecej czasu menedżerowi okien ale okno dalej sie nie pojawia :(
AlfaLeporis
W takim razie nie wiem, nie znam Javy więc nie będę dalej się pchał w to, czego nie znam :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.