Here you can find the source of execute(String url)
Parameter | Description |
---|
public static void execute(String url)
//package com.java2s; /*//from w ww . ja v a 2 s . c o m * GraphicUtils.java - SEdit, a tool to design and animate graphs in MadKit * Copyright (C) 1998-2002 Jacques Ferber, Olivier Gutknecht * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ import java.io.*; public class Main { private static final String WIN_ID = "Windows"; private static final String WIN_PATH = "rundll32"; private static final String WIN_FLAG = "url.dll,FileProtocolHandler"; private static final String UNIX_PATH = "konqueror"; private static final String UNIX_FLAG = "-remote openURL"; /** * Tries to launch the application associated to the file.. * * @param url: * the name of the file to be executed */ public static void execute(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 application, cmd='" + cmd + "'"); System.err.println("Caught: " + x); } } } catch (IOException x) { // couldn't exec browser System.err.println("Could not invoke application, command=" + cmd); System.err.println("Caught: " + x); } } /** * Try to determine whether this application is running under Windows or * some other platform by examing the "os.name" property. * * @return true if this application is running under a Windows OS */ public static boolean isWindowsPlatform() { String os = System.getProperty("os.name"); if (os != null && os.startsWith(WIN_ID)) return true; else return false; } }