Odczyt z .txt, pobieranie .zip i wypakowywanie .zip , potrzebna pomoc!

0

Witam,

Na wstepie przepraszam za chaotyczne pisanie, poniewaz nie potrafie wytlumaczyc tego w inny sposob.

Otoz zaczne to w taki sposob mam plik .zip ktory uploaduje np. na dropboxa.

Nastepnie tworze plik "update.txt" w ktorym w pierwszej linijce znajdowalaby sie cyfra oznaczajaca wersje (ona bedzie nam potrzebna do pozniejszych aktualizacji), a w drugiej linijce znajdowalby sie link url dropboxa paczki .zip ktora wczesniej umiescilem. Plik umieszczam na jakims hostingu w necie.

Teraz przechodze do dzialania launchera, otoz po uruchomieniu launchera i nacisnieciu przycisku na launcherze "Uruchom" nastepowaloby pobieranie paczki .zip z dropboxa do wyznaczonego folderu w kodzie np. na pulpit. Jednoczenie podczas pobierania na JLabel o nazwie "info" pokazywaloby stan pobieranai paczki to znaczy np. "Pobrano 12%" "Pobrano 13%" itp. Kolejna rzecz jaka by sie tworzyla to plik o nazwie "wersja.txt" w folderze rowniez wyznaczonym w kodzie np. na pulpicie. I tutaj bylby potrzebny kod do sprawdzania poniewaz w pliku wersja.txt bylaby zapisana wersja paczki jaka zostala pobrana u nas byla to np. cyfra 1 w linijce pierwszej pliku update.txt. Nastepnie po pobraniu paczki nastepowalaby rozpakowanie jej w rowniez wyznaczonym przez nas folderze.

I teraz wchodzi tryb aktualizacji otoz np. gdybym chcial zmienic pliki znajdujace sie w folderze gdzie zostala pobrana paczka i wypakowane pliki musialbym zmienic w pliku "update.txt" w pierwszej linijce cyfre np. na 2 a w drugiej linijce podac link do nowej paczki. Jezeli launcher wykrylby ze cyfra w pliku wersja.txt i update.txt sie roznia to pobieralby nowa paczke usuwajac stara i jej pliki ktore zostaly wypakowane. Automatycznie w pliku wersja.txt zostalaby zmieniona cyfra na 2.

Za kolejnym wlaczeniem launchera sprawdzalby on automatycznie czy pliki sa aktualne i nie zaszla zmiana jesli nie zaszla wykonywalby dalsza akcje launchera np. uruchomienie gry.

Pytanie moje jak takie coś osiągnąć, za pomocą jakich metod oraz w jaki sposób prawidłowo to zrobić, prosiłbym o molestowanie mnie tak bym zrozumiał. Bo jak na razie to wiem jak zrobić pobieranie i rozpakowywanie paczki lecz bez opcji aktualizacji i statusu pobierania ponieważ nie wiem jak takie coś osiągnąć.

Przyklad takiego launchera mam tutaj ( http://pixel-vest.pl/PixelVest.jar ) w folderze pl.pixelvest.launcher jednak nie potrafie tego odczytac prosilbym o pomoc w odczytaniu tego kodu, zealbo jakas podopwiedz jak moglbym wykonac podobna rzecz w moim launcherze.

Dziekuje i pozdrawiam.

0

Chyba przegapiłem w tym poście opis z czym konkretnie masz problem. Napisałeś konkretnie co chcesz osiągnąć, więc teraz to zaimplementuj.

0

Szukam podpowiedzi jak takie coś za pomocą jakich metod itp można by osiągnąć, nie chodzi mi tu o podanie kodu lecz naprowadzenie

0

zacznij szukać na necie poszczególnych fragmentów i buduj z nich całość. np "java download string from server" żeby poszukać jak wczytać plik txt z serwera od razu do zmiennej, lub "java download file with progressbar" i szukasz pobierania pliku z informacją % to nie jest trudne, trzeba tylko odpowiednio podzielić sobie w myślach algorytm i szukać :)

0

Chodzi o to, ze szukalem wiele opcji i znalazlem tylko jedna taka ktora mi dziala, jednak nie potrafie zrobic funkcji ktora bedzie np. sparwdzala czy plik wersja.txt znajdujacy sie na URL w pierwszej linijce ma te sama cyfre co plik znajdujacy sie np. na pulpicie rowniez o nazwie wersja.txt maja te same cyfry, a jesli maja te same to np. wywoluja ten kod "info.setText("Proszę poczekać, trwa odpalanie gry!");"

Chyba najlepiej zaczac od poczatku?

Probowalem uzywac takeigo kodu

        	File f1 = new File(System.getProperty("user.home") + File.separatorChar + "Program" + File.separatorChar + "wersja2.txt");
        	File f2 = new File(System.getProperty("user.home") + File.separatorChar + "Program" + File.separatorChar + "wersja.txt");
        	try {
        		if (FileUtils.readFileToString(f1).equals(FileUtils.readFileToString(f2))) {
        			info_info.setText("Proszę poczekać, trwa odpalanie gry!");
        			return;
        		} catch (IOException e) {e.printStackTrace();}

Ten kod jest jednak zly i nie dziala mi poprawnie druga rzecz nie za bardzo rozumiem jak mam odczytac plik z URL i plik z komputera czy sa takie same

0

Temat do zamkniecia, dzieki pomocy rafal20-1988 udalo mi sie osiagnac cel.

1 użytkowników online, w tym zalogowanych: 0, gości: 1