G
Gelöschtes Mitglied 9226
Gast
Ich stehe vor folgendem Problem. Ich erzeuge mir im laufenden Programm eine(n) URL:
Ergebnis: file:///C:\Dokumente und Einstellungen\diabolik\Eigene Dateien\Programmieren\Handbuch/index.html
Diesen formatiere ich um:
Ergebnis: file:///C:/Dokumente und Einstellungen/diabolik/Eigene Dateien/Programmieren/Handbuch/index.html
Daraus mache ich nun eine URI und rufe den Standard-Browser (FireFox) auf.
Das Ergebnis ist, dass sich die URI-Klasse an diesem Link verschluckt und im laufenden Prrogramm einen Fehler meldet. Logisch. Leerzeichen! Aber FireFox kann einen Link in dieser Form öffnen! Doof!
Also maskiere ich die Leerzeichen vorher.
Ergebnis: file:///C:/Dokumente%20und%20Einstellungen/diabolik/Eigene%20Dateien/Programmieren/Handbuch/index.html
Die URI-Klasse hat nun nichts mehr zu meckern! Aber FireFox kann das RFC-konforme Ziel nicht finden. ;o(
Daher meine Frage:
Hat irgendwer eine Idee, wie ich die oben angezeigte URI aufbauen muss, damit ich Sie aus JAVA heraus mittels "Desktop-Klasse" an FireFox übergeben kann und der diesen Link dann auch verwerten kann?
Ich finde keine Lösung!
Java:
import java.awt.Desktop;
import java.net.URI;
import java.io.File;
[...]
String urlFF = "file:///" + defaults.getCurDir() + "/" + "Handbuch" + "/" + "index.html";
Ergebnis: file:///C:\Dokumente und Einstellungen\diabolik\Eigene Dateien\Programmieren\Handbuch/index.html
Diesen formatiere ich um:
Java:
String slash = "/";
String backslash = "\\";
urlFF = urlFF.replace(backslash, slash);
Ergebnis: file:///C:/Dokumente und Einstellungen/diabolik/Eigene Dateien/Programmieren/Handbuch/index.html
Daraus mache ich nun eine URI und rufe den Standard-Browser (FireFox) auf.
Java:
URI uriFF = new URI(urlFF);
desktop = Desktop.getDesktop();
desktop.browse(uriFF);
Das Ergebnis ist, dass sich die URI-Klasse an diesem Link verschluckt und im laufenden Prrogramm einen Fehler meldet. Logisch. Leerzeichen! Aber FireFox kann einen Link in dieser Form öffnen! Doof!
Also maskiere ich die Leerzeichen vorher.
Java:
urlFF = urlFF.replace(" ", "%20");
URI uriFF = new URI(urlFF);
desktop = Desktop.getDesktop();
desktop.browse(uriFF);
Ergebnis: file:///C:/Dokumente%20und%20Einstellungen/diabolik/Eigene%20Dateien/Programmieren/Handbuch/index.html
Die URI-Klasse hat nun nichts mehr zu meckern! Aber FireFox kann das RFC-konforme Ziel nicht finden. ;o(
Daher meine Frage:
Hat irgendwer eine Idee, wie ich die oben angezeigte URI aufbauen muss, damit ich Sie aus JAVA heraus mittels "Desktop-Klasse" an FireFox übergeben kann und der diesen Link dann auch verwerten kann?
Ich finde keine Lösung!