/ / Öffnen einer Datei auf eine Schaltfläche klicken - Java, Datei

Öffnen einer Datei auf eine Schaltfläche klicken - Java, Datei

Ich habe Java-Projekt, in dem eine Schaltfläche eine PDF-Datei öffnet als das projekt in ein lauffähiges jar exportiert wurde, öffnet sich die datei nicht !!

Das ist mein Button Listener

public void about (Event event){

if (Desktop.isDesktopSupported()) {
try {
File myFile = new File("src/application/Documenation.pdf");
Desktop.getDesktop().open(myFile);
} catch (IOException ex) {
// no application registered for PDFs
}
}


}

Antworten:

0 für die Antwort № 1

Verweisen Sie niemals auf Inhalte innerhalb der src Wenn Sie ein Projekt erstellen, wird das Verzeichnis src Verzeichnis wird nicht existieren.

Auf Inhalte, die in Ihrem Anwendungskontext enthalten sind (insbesondere auf Inhalte, die in einer Jar - Datei enthalten sind), kann normalerweise nicht als "a" zugegriffen werden File (wie Sie es vom Dateisystem aus tun), werden sie zu einem Eintrag in Ihrer Anwendungs-Jar-Datei.

In diesem Fall müssen Sie die Datei extrahieren, bevor Sie sie öffnen können.

Was Sie tun können, ist, sich zu bedienen Class#getResourceAsStream und kopieren Sie das Ergebnis InputStream auf die Festplatte

Beispielsweise...

try (InputStream is = getClass().getResourceAsStream("/application/Documenation.pdf")) {
File file = File.createTempFile("Documentation", ".pdf");
file.deleteOnExit();
try (OutputStream os = new FileOutputStream(file)) {
byte[] buffer = new byte[1024];
int bytesRead = -1;
while ((bytesRead = is.read(buffer)) != -1) {
os.write(buffer, 0, bytesRead);
}
}
Desktop.getDesktop().open(file);
} catch (IOException exp) {
exp.printStackTrace();
}