`

Java 调用浏览器访问指定URL. 多平台

    博客分类:
  • Java
阅读更多
/////////////////////////////////////////////////////////
//Bare Bones Browser Launch                            //
//Version 1.5 (December 10, 2005)                      //
//By Dem Pilafian                                      //
//Supports: Mac OS X, GNU/Linux, Unix, Windows XP      //
//Example Usage:                                       //
// String url = "http://www.centerkey.com/";           //
// BareBonesBrowserLaunch.openURL(url);                //
//Public Domain Software -- Free to Use as You Like    //
/////////////////////////////////////////////////////////

/**
* @author Dem Pilafian
* @author John Kristian
*/
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class BareBonesBrowserLaunch {

    public static void openURL(String url) {
        try {
            browse(url);
        } catch (Exception e) {
           // JOptionPane.showMessageDialog(null, "Error attempting to launch web browser:\n" + e.getLocalizedMessage());
        }
    }

    private static void browse(String url) throws ClassNotFoundException, IllegalAccessException,
            IllegalArgumentException, InterruptedException, InvocationTargetException, IOException,
            NoSuchMethodException {
        String osName = System.getProperty("os.name", "");
        if (osName.startsWith("Mac OS")) {
            Class fileMgr = Class.forName("com.apple.eio.FileManager");
            Method openURL = fileMgr.getDeclaredMethod("openURL", new Class[] { String.class });
            openURL.invoke(null, new Object[] { url });
        } else if (osName.startsWith("Windows")) {
            Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
        } else { // assume Unix or Linux
            String[] browsers = { "firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" };
            String browser = null;
            for (int count = 0; count < browsers.length && browser == null; count++)
                if (Runtime.getRuntime().exec(new String[] { "which", browsers[count] }).waitFor() == 0)
                    browser = browsers[count];
            if (browser == null)
                throw new NoSuchMethodException("Could not find web browser");
            else
                Runtime.getRuntime().exec(new String[] { browser, url });
        }
    }
  
}
分享到:
评论

相关推荐

    Java调用浏览器打开URL地址

    总之,Java调用浏览器打开URL地址主要依赖于`java.awt.Desktop`类的`browse()`方法,这是一种跨平台且易于使用的解决方案。如果需要更精细的控制,可以考虑使用特定浏览器的命令行接口。在实际开发中,确保对各种...

    java调用chrome浏览器内核cef实现,非jxbrowser

    Java调用Chrome浏览器内核是开发桌面应用时一个常见的需求,尤其在需要嵌入Web页面或者与Web内容交互的场景下。CEF(Chromium Embedded Framework)是一个开源项目,它允许开发者将Google Chrome的Blink渲染引擎和V8...

    java调用本地浏览器的demo

    Java调用本地浏览器的示例,通常涉及到Java与操作系统交互的能力,这主要通过Java的`Runtime`类或者`ProcessBuilder`类实现。这两个类允许Java程序执行系统命令,例如打开一个本地已安装的浏览器来加载特定的URL。...

    Android卸载或删除应用,调用浏览器打开指定网页地址url

    在Android平台上,开发者有时需要在用户卸载或删除应用程序时执行一些特定操作,例如提示用户访问一个网页以获取更多信息或反馈。本主题将详细讲解如何实现这一功能,即在Android应用卸载或删除时调用系统浏览器打开...

    java cef 调用chrome浏览器

    Java CEF调用Chrome浏览器是一种技术方案,它允许Java应用程序利用CEF(Chromium Embedded Framework)来集成Chrome浏览器引擎,从而实现更丰富的Web交互和硬件加速功能。CEF是一个开源框架,它封装了Google Chrome...

    java编写浏览器接口

    Java作为一种跨平台的编程语言,提供了丰富的库和API来帮助开发者实现这个目标。以下是一些关键的知识点,涵盖了如何使用Java创建一个自定义的浏览器: 1. **Swing或JavaFX**:为了构建用户界面,Java提供了Swing和...

    java内嵌浏览器源码.doc

    在Java编程中,有时我们需要在应用程序内部嵌入一个浏览器组件,以便用户可以在程序内部浏览网页。这个场景通常出现在开发桌面应用或需要展示特定网页内容的软件中。在Java中实现内嵌浏览器,我们可以利用Eclipse ...

    Java 网页浏览器组件介绍

    9. **跨平台兼容性**: 虽然JavaFX WebEngine在多平台上工作良好,但请注意不同操作系统可能有不同的性能和兼容性表现。测试在目标平台上运行应用程序是必要的。 10. **学习资源**: 对于进一步的学习,可以参考...

    java写的网络浏览器

    Java编写的网络浏览器是一款创新性的软件,它利用Java这一跨平台的编程语言,实现了与传统浏览器类似的功能。本文将深入探讨Java在构建网络浏览器时所涉及的关键技术和知识点。 首先,我们要明白Java是一种面向对象...

    java 自制浏览器

    首先,Java是一种多平台的编程语言,以其“写一次,到处运行”的特性闻名。在Java中开发浏览器意味着你需要创建一个应用程序,它可以接收用户输入,处理HTTP请求,以及显示网页内容。Java中的`java.net`包提供了用于...

    浏览器内部工作原理

    本篇文章将深入探讨浏览器的各个组件及其功能,以便更好地理解从输入URL到页面显示的整个过程。 首先,浏览器的主要功能是获取并呈现Web资源,这些资源通常以HTML、CSS、JavaScript和其他格式存在。用户通过地址栏...

    使用缺省浏览器打开指定网页

    在计算机操作中,"使用缺省浏览器打开指定网页"是一个常见的任务,这涉及到操作系统与浏览器之间的交互以及程序接口的使用。缺省浏览器是指系统默认设置用来打开网页链接的应用程序,通常是我们经常使用的如Google ...

    Java使用默认浏览器打开指定URL的方法(二种方法)

    在Java编程中,有时我们需要实现一个功能,即通过程序控制打开用户的默认浏览器并访问特定的URL。本篇文章将介绍两种实现这一目标的方法。 方法一:使用`Runtime.getRuntime().exec()`命令 这种方法是通过调用操作...

    JAVA浏览器控件(通过JNI实现)

    在Windows平台上,很多浏览器控件都是以DLL形式提供的,包含了实现浏览器功能的C或C++代码。在JNI实现中,Java代码会通过JNI调用这个库中的函数,来实现Web页面的加载、渲染和交互。 3. **JWebBrowser.jar**: 这...

    跨平台使用swing调用浏览器

    跨平台使用swing调用浏览器,由于现在很多的机器的jre或者jdk都是1.5版本及以下的不能使用jdk 1.6 desktop类。

    java代码的浏览器

    Java虽然不是开发浏览器的首选语言(通常使用C++或JavaScript),但其跨平台特性和丰富的库支持使得用Java开发小型浏览器成为可能。不过,Java在处理图形渲染和性能上可能不如其他专为此目的设计的语言高效。 5. *...

    通过URL地址获取网页生成jpg图片

    这个过程需要在服务器端运行一个支持JavaScript的环境,如Node.js,然后通过Java调用。 在Node.js端,我们可以使用`puppeteer`库来实现: ```javascript const puppeteer = require('puppeteer'); async function ...

    Java发布和调用WebService

    【Java发布和调用WebService】知识点详解 Java WebService是一种基于标准的、平台无关的通信方式...理解并熟练掌握这些知识点,将使你能够在Java环境中有效地发布和调用WebService,实现跨平台、跨语言的系统间通信。

    java扫描仪接口调用源码

    此外,如果扫描仪接口调用涉及本地资源访问,可能还需要考虑如何在多用户环境下处理并发请求,以及权限控制问题。 访问Java Web应用通常通过浏览器进行,输入服务器地址加上应用上下文路径,如`...

    安卓浏览器WebViewJSHTML5相关-点击浏览器中的URL链接启动特定的App.rar

    在安卓平台上,WebView是用于加载和显示网页内容的重要组件,它是Android SDK的一部分。这个压缩包文件"安卓浏览器WebViewJSHTML5相关-点击浏览器中的URL链接启动特定的App.rar"主要探讨了如何通过WebView来实现一个...

Global site tag (gtag.js) - Google Analytics