Mega Code Archive

 
Categories / Java / Development Class
 

Open Browser

/*  * Copyright 2005-2010 the original author or authors.  * Licensed under the Apache License, Version 2.0 (the "License");  * you may not use this file except in compliance with the License.  * You may obtain a copy of the License at  *  *      http://www.apache.org/licenses/LICENSE-2.0  *  * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS,  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  * See the License for the specific language governing permissions and  * limitations under the License.  */ //package sdloader.util; import java.io.IOException; //import sdloader.exception.NotImplementedYetException; /**  *   * @author c9katayama  * @author yone098  */ public class MiscUtils {   private static String[] browserNames = { "firefox", "mozilla-firefox",       "mozilla", "konqueror", "netscape", "opera" };   public static void openBrowser(String url) throws IOException {     final String os = System.getProperty("os.name").toLowerCase();     if (os.indexOf("windows") != -1) {       url = appendUrlForWindows2000(os, url);       Runtime.getRuntime().exec(           "rundll32 url.dll,FileProtocolHandler " + url);       return;     } else if (os.indexOf("mac") != -1) {       Runtime.getRuntime().exec(new String[] { "open", url });       return;     } else {       Runtime runtime = Runtime.getRuntime();       for (int i = 0; i < browserNames.length; i++) {         try {           runtime.exec(new String[] { browserNames[i], url });           return;         } catch (Exception e) {         }       }     }      }   /**    * ?????????????????????    *     * @param url    *            ???URL    * @param browserPath    *            ????????    * @throws IOException    */   public static void openBrowser(String url, final String browserPath)       throws IOException {     final String os = System.getProperty("os.name").toLowerCase();     if (os.indexOf("windows") != -1) {       url = appendUrlForWindows2000(os, url);     }     Runtime.getRuntime().exec(new String[] { browserPath, url });   }   /**    * // 2000????html????htm????????????????????#????    *     * @param os    *            OS?    * @param url    *            ??URL    * @return URL???    */   private static String appendUrlForWindows2000(final String os,       final String url) {     String ret = url;     if (os.indexOf("2000") != -1) {       if (url.toLowerCase().endsWith(".html")           || url.toLowerCase().endsWith(".htm")) {         ret += "#";       }     }     return ret;   } }