MiscUtils.java Source code

Java tutorial

Introduction

Here is the source code for MiscUtils.java

Source

/*
 * 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;
    }

}