linux problem mit Desktop.getDesktop().open(..)

Status
Nicht offen für weitere Antworten.

Tallan

Bekanntes Mitglied
Hallo zusammen, ich habe folgenendes Problem


ich habe ein Programm das eine PDF Datei öffnet bzw öffnen soll.
Hier der Test des ganzen um es etwas übersichtlicher zu gestalten.

Java:
import java.awt.*;
import java.io.*;

public class Test {
    public static void main(String[] args) throws Exception {
    	 System.out.println(Desktop.isDesktopSupported());
         Desktop.getDesktop().open(new File("tst.pdf"));
    }
}

Ausgabe :

true
Exception in thread "main" java.io.IOException: Failed to show URI:file:/pfad../tst.pdf
at sun.awt.X11.XDesktopPeer.launch(XDesktopPeer.java:93)
at sun.awt.X11.XDesktopPeer.open(XDesktopPeer.java:61)
at java.awt.Desktop.open(Desktop.java:272)
at Test.main(Test.java:6)


Die Schreibrechte sind richtig gesetzt.
Javaversion auf linux ist 1.6.0
Desktop.isDesktopSupported() gibt ein true zurück
Ein PDF Viewer ist auch installiert
Unter Windows läuft das Programm ohne Probleme
Der Dateipfad stimmt

Es gibt zahlreiche ähnliche Posts zu dem Problem leider ohne Lösung, hat vielleicht jemand eine Idee?
 
Witam
potrzebuje uruchomić,

Java :: chm w jar - 4programmers.net

(sieht so aus als wenn dort die Datei kopiert wird, nicht sehr praktikabel..)

das hab ich unter anderem auch schon gesehen, aber da wird eine File erstellt was ja sowieso der Fall ist.

Für den Moment hab ich es per
Runtime.getRuntime().exec(..);

gelöst, was allerdings schlecht ist da man hier den namen des PDF Viewers wissen muß
 
Zuletzt bearbeitet:
Unter KDE kann man mit kfmclient exec "pfad/datei.pdf" ein pdf öffnen. Unter Gnome gibt es den Befehl gnome-open.

Diese Befehl suchen das passende Programm und öffnen damit das Dokument
 
Unter KDE kann man mit kfmclient exec "pfad/datei.pdf" ein pdf öffnen. Unter Gnome gibt es den Befehl gnome-open.

Diese Befehl suchen das passende Programm und öffnen damit das Dokument

danke aber das geht mit "see datei" auch und das habe ich z.Z auch so gelöst wobei das eine systemspezifische lösung ist die ich vermeiden wollte
 
danke aber das geht mit "see datei" auch und das habe ich z.Z auch so gelöst wobei das eine systemspezifische lösung ist die ich vermeiden wollte

"see" ist ja viel besser als meine zwei verschiedenen Programme.

Unter dem aktuellen Ubuntu (8.10) geht aber die Java Methode.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben