How do you open a file from a java application when you do not know which application the file is associated with. Also, because I'm using Java, I'd prefer a platform independent solution.
You could hack something together with a bat file on Windows and equivalent on Unix, but that wouldn't be that fun.
I think your best bet would be the JDesktop Integration Components (JDIC). In particular, the Desktop class has exactly the method you're looking for.
EDIT: Apparently, I'm behind the times because this has been integrated into Java 1.6. In any case, if you're working in an earlier Java, it may still be useful.
With JDK1.6, the java.awt.Desktop class can be useful.
public static void open(File document) throws IOException {
Desktop dt = Desktop.getDesktop();
dt.open(document);
}
ref : http://java.sun.com/javase/6/docs/api/java/awt/Desktop.html
Open the file to read from within the application? Or open the application that is responsible for that file type?
File file
Desktop.getDesktop().open( file );
Since Java 1.6
Previous to that you could check this question
Sumary
It would look something like this:
Runtime.getRuntime().exec( getCommand( file ) );
public String getCommand( String file ){
// Depending on the platform could be
//String.format("gnome-open %s", fileName)
//String.format("open %s", fileName)
//String.format("cmd /c start %s", fileName)
// etc.
}