File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Other JSE/JEE APIs and the fly likes JDIC opening any file with the browser Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Other JSE/JEE APIs
Bookmark "JDIC opening any file with the browser" Watch "JDIC opening any file with the browser" New topic

JDIC opening any file with the browser

Sam Latious

Joined: Sep 19, 2008
Posts: 4
This is on Mac OS X 10.5.5 using JDIC with Java 1.5 and Firefox is my default browser.

I'm trying to open up an XML file on the local file system using Firefox instead of the default XML viewer(there's a stylesheet). I don't want to set Firefox as my default XML viewer because for another part of this program, I DO want to open XML up with an editor.

Here's some code I've tried along with the results:

Desktop.browse(""); //works fine

Desktop.browse("/Users/iAmAFile.xml");//Malformed URL expection:no Protocol

//Desktop Exception: Failed to Launch the Default Browser
//Also, this is what is in the URL bar when I manually open the file with

Thanks for your help.

Rob Spoor

Joined: Oct 27, 2005
Posts: 20273

Check out Runtime.exec and ProcessBuilder. Simply running "firefox mypathto/myfile.xml" should work, as long as firefox is on your path.

How To Ask Questions How To Answer Questions
Sam Latious

Joined: Sep 19, 2008
Posts: 4
Thanks for the response. I think that would work on my machine, but I need this to work on Windows machines, ones that may use either firefox or IE. My bad for not putting that into the original post. I did think of a way to do this last night though.

This assumes that the machine is set up so that the default browser and the default program for opening HTML files is the same thing.

I plan on generating a small html file at runtime which will redirect to whatever XML file I want to show."temp.html");
//asks the OS to open the file with whatever opens html files, hopefully
//the browser

Contents of temp.html:
<meta http-equiv="Refresh" content="0; URL=/path/to/file.xml">
Ulf Dittmer

Joined: Mar 22, 2005
Posts: 42965
The cross-platform Bare Bones Browser Launcher might also be helpful.
I agree. Here's the link:
subject: JDIC opening any file with the browser
It's not a secret anymore!