For example, one application that I'm working on stores PDF files into a database, then can pull them back out for display. I've got a call in there using Runtime.exec to do a "cmd /c start " plus the PDF filename. Works great for Windows. Would prefer to find a platform independent way (trying to avoid OS detection with alternate methods for various OS) to do this though as we also run the software on Solaris and Mac.
Asked
Active
Viewed 157 times
2 Answers
3
Look at Desktop which has a open method and that would be platform independent.
Launches the associated application to open the file.

willcodejavaforfood
- 43,223
- 17
- 81
- 111
-
*Exactly* what I was looking for! I see there's a method to see if Desktop is supported... Are there platforms where Desktop is currently not supported? – Brian Knoblauch Jul 30 '10 at 15:06
-
@Brian Knoblauch - Always worked for me, but probably a few platforms I've never used :) – willcodejavaforfood Jul 30 '10 at 15:47
-
So far, I can confirm that it's supported on Windows and Solaris! – Brian Knoblauch Aug 03 '10 at 18:56
1
I'd be interested to see if there is a 'correct' answer for this. If I were to do this, I'd have a properties file mapping of OS to the command needed to run, and then resolve the OS at runtime.
Eg in a properties file:
windows=cmd /c start
mac=open #(I think)
linux=... etc

Noel M
- 15,812
- 8
- 39
- 47