Avatar
h4ck1
Člen
Avatar
h4ck1:

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. května 16:41
Avatar
h4ck1
Člen
Avatar
h4ck1:

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

 
Nahoru Odpovědět 24. května 17:00
Avatar
-snaživec-
Člen
Avatar
Odpovídá na h4ck1
-snaživec-:

Skús

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

bez toho tmp, malo by to fungovať

Editováno 1. června 19:24
Nahoru Odpovědět 1. června 19:23
Pomali ďalej zájdeš.
Avatar
h4ck1
Člen
Avatar
h4ck1:

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. června 21:35
Avatar
-snaživec-
Člen
Avatar
Odpovídá na h4ck1
-snaživec-:

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

Nahoru Odpovědět 2. června 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.