`

Java 代码 调用浏览器 打开url (支持多个操作系统)

    博客分类:
  • java
 
阅读更多

package com.ab.galaxy.test.main;

 

/////////////////////////////////////////////////////////  

//支持: Mac OS X, GNU/Linux, Unix, Windows XP// 
//可免费使用                                                        //
///////////////////////////////////////////////////////// 
 
import java.lang.reflect.Method; 
/**
  *<dl>
  *<dt>类名:OpenUrl</dt>
  *<dd>描述: </dd>
  *<dd>公司: 安邦保险-欣欣苹果网络科技有限公司</dd>
  *<dd>创建时间:2012-8-28  下午02:41:33</dd>
  *<dd>创建人: WangDawei</dd>
  *</dl>
 */
public class OpenUrl { 
 
    public static void openURL(String url) { 
        try { 
            browse(url); 
        } catch (Exception e) { 
        } 
    } 
 
    private static void browse(String url) throws Exception { 
        //获取操作系统的名字 
        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")) { 
           //windows的打开方式。 
            Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url); 
        } else { 
            // Unix or Linux的打开方式 
            String[] browsers = { "firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" }; 
            String browser = null; 
            for (int count = 0; count < browsers.length && browser == null; count++) 
                //执行代码,在brower有值后跳出, 
//这里是如果进程创建成功了,==0是表示正常结束。 
                if (Runtime.getRuntime().exec(new String[] { "which", browsers[count] }).waitFor() == 0) 
                    browser = browsers[count]; 
            if (browser == null) 
                throw new Exception("Could not find web browser"); 
            else 
                //这个值在上面已经成功的得到了一个进程。 
                Runtime.getRuntime().exec(new String[] { browser, url }); 
        } 
    } 
}

分享到:
评论

相关推荐

    Java调用浏览器打开URL地址

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

    java调用本地浏览器的demo

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

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

    本主题将详细讲解如何实现这一功能,即在Android应用卸载或删除时调用系统浏览器打开指定的网页URL。 首先,我们需要了解Android应用程序的生命周期。在Android中,当用户卸载应用时,系统会触发一系列生命周期方法...

    java写的网络浏览器

    对于网络浏览器而言,这意味着它可以在多种操作系统上运行,如Windows、Mac OS X和Linux等。 1. **JavaFX**:JavaFX是Oracle提供的用于构建富客户端应用的框架,它特别适合用来创建具有现代UI设计的网络浏览器。...

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

    本主题将深入探讨通过JNI(Java Native Interface)实现的Java浏览器控件,这是一种Java与本地操作系统代码交互的技术。 JNI是Java平台的一部分,它允许Java代码调用C、C++等本地代码,反之亦然。这种机制使得...

    java扫描仪接口调用源码

    通过JNI,Java应用程序可以直接调用操作系统级别的API,从而实现与硬件设备如扫描仪的通信。JNA则提供了一种更高级别的抽象,无需编写C/C++代码,直接用Java来映射原生库函数。这两种方式都能让Java程序调用扫描仪的...

    java编写浏览器接口

    虽然Java本身不直接支持,但可以通过提供API和使用JNI(Java Native Interface)调用本地代码来实现。 以上只是创建一个Java浏览器的基本要素,实际开发中还需要考虑性能优化、内存管理、错误处理、用户交互设计等...

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

    首先,我们需要判断当前系统是否支持`Desktop`类,然后创建一个`URI`对象表示要打开的URL,最后调用`browse()`方法打开默认浏览器。以下是完整的代码示例: ```java import java.awt.Desktop; import java.net.URI;...

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

    1. **操作系统与浏览器的交互**:操作系统负责管理用户界面和应用程序,当用户点击一个超链接或者通过编程方式请求打开网页时,操作系统会调用缺省浏览器来处理。这种交互基于操作系统提供的API(应用程序接口)。 ...

    Java 网页浏览器组件介绍

    Java 网页浏览器组件是Java编程中一个重要的部分,它允许开发者在Java应用程序中嵌入网页浏览功能。这样的组件通常被称为Java Web Start(JWS)或JavaFX WebView,它们为用户提供了一种在不依赖外部浏览器的情况下...

    根据url来获取页面的截图

    在IT行业中,根据URL获取页面截图是...这个功能在很多应用场景中都十分有用,比如自动化测试中验证网页布局,或者用于数据监控系统记录网页状态。同时,注意处理URL参数和正确保存截图文件也是实现这一功能的关键步骤。

    java-简单的浏览器

    \n\n总结,创建一个 Java 简单浏览器涉及到 JavaFX GUI 编程、网络通信、JavaScript 交互等多个方面,通过不断学习和实践,可以实现一个功能丰富的桌面浏览器。尽管面临一些挑战,但借助 Java 强大的库和框架,我们...

    SWT开发的浏览器(Java)--源代码

    与Java标准库中的AWT和Swing不同,SWT直接调用操作系统的API,因此在性能和外观上更接近原生应用。这使得使用SWT创建的程序具有更好的响应速度和平台一致性。在我们的浏览器项目中,这一特性使得程序能够在不同的...

    java 版Url转换工具,可得到真实的URL

    使用Java开发的URL转换工具通常具有跨平台性,可以在Windows、Linux、Mac OS等不同操作系统上运行。它对于开发者来说是一个实用的工具,特别是在处理复杂的URL逻辑时,能提高开发效率并确保URL处理的准确性。在实际...

    Java发布和调用WebService

    - **PortType**:定义一组操作,可以被多个服务端点支持。 - **Binding**:描述服务如何与特定协议(如SOAP over HTTP)结合。 - **Port**:定义服务的具体访问点。 - **Service**:包含一个或多个服务端点的集合。 ...

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

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

    java写得一个简单的浏览器

    标题中的“java写得一个简单的浏览器”意味着我们将讨论如何使用Java编程语言开发一个基础的Web浏览器。Java是一种广泛使用的面向对象的编程语言,以其跨平台兼容性和强大的功能而闻名。要构建一个简单的浏览器,...

    JAVA程序调用Web Service示例过程演示

    为了实现业务逻辑和处理Web Service响应,你需要创建一个或多个Java类文件。在NetBeans中,这可以通过右击源包,选择“New”&gt;“Java Class”来完成。在这个类中,你将编写代码来调用Web Service并处理返回的结果。 ...

    java开源包8

    DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列...

    SWT java浏览器

    SWT是一个针对Java的本机GUI库,它提供了与操作系统原生界面组件的直接交互,从而创建出更符合平台风格的窗口和控件。相比Java Swing,SWT提供了更高的性能和更好的外观与感觉。SWT支持多种操作系统,包括Windows、...

Global site tag (gtag.js) - Google Analytics