Java examples for Native OS:Browser
run In Browser
/*//from www . ja v a 2 s. c om * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * - Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * - Neither the name of Oracle nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ import java.io.File; import java.io.IOException; import java.util.Arrays; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; public class Main{ public static void main(String[] argv) throws Exception{ String code = "java2s.com"; String resource = "java2s.com"; runInBrowser(code,resource); } private static final String ffBrowserPath1 = "C:/Program Files (x86)/Mozilla Firefox/firefox.exe"; private static final String ffBrowserPath2 = "C:/Program Files/Mozilla Firefox/firefox.exe"; private static final String ieBrowserPath1 = "C:/Program Files (x86)/Internet Explorer/iexplore.exe"; private static final String ieBrowserPath2 = "C:/Program Files/Internet Explorer/iexplore.exe"; private static final String ffBrowserMacPath = "/Applications/Firefox.app/Contents/MacOS/firefox"; private static final String chromeBrowserMacPath = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"; public static void runInBrowser(final String code, final String resource) { new Thread(new Runnable() { @Override public void run() { try { Process process = null; String browserPath = ""; if (isWin()) { String browserPath2 = ""; if (code.equals("ff")) { browserPath = ffBrowserPath1; browserPath2 = ffBrowserPath2; Util.DEBUG("resource obj " + resource); } else if (code.equals("ie")) { browserPath = ieBrowserPath1; browserPath2 = ieBrowserPath2; Util.DEBUG("resource obj " + resource); } if (new File(browserPath).exists()) { process = new ProcessBuilder(new String[] { "\"" + browserPath + "\"", "\"" + resource + "\"" }).start(); } if (process == null && new File(browserPath2).exists()) { process = new ProcessBuilder(new String[] { "\"" + browserPath2 + "\"", "\"" + resource + "\"" }).start(); } } else if (isMac()) { if (code.equals("ff")) { browserPath = ffBrowserMacPath; Util.DEBUG("resource obj " + resource); } else if (code.equals("cr")) { browserPath = chromeBrowserMacPath; Util.DEBUG("resource obj " + resource); } if (new File(browserPath).exists()) { List<String> list = Arrays.asList(new String[] { "open", "-a", browserPath, resource }); Util.DEBUG("command " + list); process = new ProcessBuilder(list).start(); //process = Runtime.getRuntime().exec(new String[]{"\"" + browserPath + "\"", "\"" + NIX_FILE_PROTOCOL + resource + "\""}); } } } catch (IOException ex) { Logger.getLogger(BrowserUtil.class.getName()).log( Level.SEVERE, null, ex); } } }, "RunResourceBrowserThread").start(); } public static boolean isWin() { return System.getProperty("os.name").toLowerCase() .contains("windows"); } public static boolean isMac() { return System.getProperty("os.name").contains("Mac OS X"); } }