package fm5.console.util;
import java.io.IOException;
import fm5.console.util.LogUtil;
/**
* * TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style. - Code Templates
*/
public class OpenIEURL {
// Used to identify the windows platform.
private static final String WIN_ID = "Windows";
// The default system browser under windows.
private static final String WIN_PATH = "rundll32";
// The flag to display a url.
private static final String WIN_FLAG = "url.dll,FileProtocolHandler";
// The default browser under unix.
private static final String UNIX_PATH = "netscape";
// The flag to display a url.
private static final String UNIX_FLAG = "-remote openURL";
public static boolean isWindowsPlatform() {
String s = System.getProperty("os.name");
if (os != null && os.startsWith(WIN_ID))
return true;
else
return false;
}
public static void displayURL(String url) {
boolean windows = isWindowsPlatform();
String cmd = null;
try {
if (windows) {
// cmd = 'rundll32 url.dll,FileProtocolHandler http://...'
cmd = WIN_PATH + " " + WIN_FLAG + " " + url;
Process p = Runtime.getRuntime().exec(cmd);
} else {
// Under Unix, Netscape has to be running for the "-remote"
// command to work. So, we try sending the command and
// check for an exit value. If the exit command is 0,
// it worked, otherwise we need to start the browser.
// cmd = 'netscape -remote openURL(http://www.javaworld.com)'
cmd = UNIX_PATH + " " + UNIX_FLAG + "(" + url + ")";
Process p = Runtime.getRuntime().exec(cmd);
try {
// wait for exit code -- if it's 0, command worked,
// otherwise we need to start the browser up.
int exitCode = p.waitFor();
if (exitCode != 0) {
// Command failed, start up the browser
// cmd = 'netscape http://www.javaworld.com'
cmd = UNIX_PATH + " " + url;
p = Runtime.getRuntime().exec(cmd);
}
} catch (InterruptedException x) {
System.err.println("Error bringing up browser, cmd='" + cmd
+ "'");
System.err.println("Caught: " + x);
}
}
} catch (IOException x) {
// couldn't exec browser
System.err.println("Could not invoke browser, command=" + cmd);
System.err.println("Caught: " + x);
}
}
public static void displayURLWithIE(String url) {
String cmd = "explorer " + url;
try {
Runtime.getRuntime().exec(cmd);
} catch (IOException e) {
LogUtil.error("Could not invoke browser, command=" + cmd, e);
}
}
public static void main(String[] args) {
try {
//displayURL("http://www.google.com");
displayURLWithIE("http://www.google.com");
} catch (Exception e) {
LogUtil.error("", e);
}
}
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17074730/viewspace-557681/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/17074730/viewspace-557681/