Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
h4ck1
Člen
Avatar
h4ck1:24.5.2016 16:41

Zdravím.
Potřeboval bych poradit. Mám napsaný program v Javě (JavaFX) a chtěl bych po zmáčknutí tlačítka help otevřít v defaultním programu nápovědu, kterou mám napsanou v html i s obrázky. Na netu jsem se dočetl, že je potřeba vykopírovat soubory do tempu a až odsud je otevřít.

Zatím mám jen vyřešen přesun index.html do tempu, což funguje dobře:

@FXML
        public void helpButtonAction(ActionEvent event) throws IOException, URISyntaxException {
                File temp = File.createTempFile("tempfiletest", ".tmp");
                String tempPath = temp.getParent();
                InputStream isIndex = getClass().getResourceAsStream("index.html");
                OutputStream osIndex = new FileOutputStream(tempPath + separator + "indexhelp.html");
                byte[] buffer = new byte[4096];
                int length;
                while ((length = isIndex.read(buffer)) > 0) {
                    osIndex.write(buffer, 0, length);
                }
                osIndex.close();
                isIndex.close();

                String b = tempPath + separator + "indexhelp.html";
                System.out.println(tempPath);

                File htmlFile = new File(b);
                Desktop.getDesktop().browse(htmlFile.toURI());
}

Potřeboval bych ještě vykopírovat do tempu adresář img s obrázky, na které v index.html odkazuji.

index.html a složku img s obrázky mám nakopírovanou v \src\application\

Poradí někdo prosím? V javě sem začátečník.

Díky moc.

 
Odpovědět
24.5.2016 16:41
Avatar
h4ck1
Člen
Avatar
h4ck1:24.5.2016 17:00

tím separator je myšleno \, pokud spouštím projekt na linuxu, tak je to /

 
Nahoru Odpovědět
24.5.2016 17:00
Avatar
-snaživec-
Člen
Avatar
Odpovídá na h4ck1
-snaživec-:1.6.2016 19:23

Skús

Desktop.getDesktop().browse(new URI("file://index.html"));

bez toho tmp, malo by to fungovať

Editováno 1.6.2016 19:24
Nahoru Odpovědět
1.6.2016 19:23
Pomali ďalej zájdeš.
Avatar
h4ck1
Člen
Avatar
h4ck1:1.6.2016 21:35

Díky, ale bohužel to nefunguje:

Caused by: java.io.IOException: Failed to open file://index.html. Error message: Systém nemůže nalézt uvedený soubor.
 
Nahoru Odpovědět
1.6.2016 21:35
Avatar
-snaživec-
Člen
Avatar
Odpovídá na h4ck1
-snaživec-:2.6.2016 18:27

Skús tam napísať celú cestu.

Nahoru Odpovědět
2.6.2016 18:27
Pomali ďalej zájdeš.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.