Erik's Weblog 2.0

May 17, 2006



Using Runtime.getRuntime().exec() to launch an application is pretty straight forward, except when you're trying to start an application whose name contains one or more spaces.

Under Windows, you need to quote the application name:
Runtime.getRuntime().exec("\"My Appliaction.exe\"");
Under Mac OS X, you need to call open:
Runtime.getRuntime().exec(new String[]{"open", "My"});
Under Linux? I'm not sure. So far I haven't figured it out.


Jim Russell

May 18, 2006 at 08:15

Here's a way to do it that works in Linux, and probably works on all the other platforms as well.  By passing an array instead of a single String, you don't go through the tokenizer:

Runtime.getRuntime().exec(new String[]{"My Application"});

Post a comment


Comment Preview