`
wujianjun0410
  • 浏览: 101750 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java启动相应的windows程序来打开文件

阅读更多
这里有两种方法:
1.利用java运行时环境和windows系统应用程序
    首先我们都知道,在Windows中浏览器可以用来打开很多不同的文件,比如网页,txt和pdf等等(前提是你的系统注册了相关软件)。 那么IE是通过什么方式来实现不同文件用不同软件来打开呢?  其实它有一个叫url.dll 的动态链接库,url.dll提供了IE调用 各种应用来打开不同文件的实现。既然IE提供了这样一个功能,我们就可以在java程序中利用它。那么,我们如何在java程序中调用动态链接库呢? 我们知道,windows系统提供了一个叫Rundll32.exe的文件,它的作用是执行DLL文件中的内部函数,这样在进程当中,只会有rundll32.exe,而不会有DLL后门的进程,这样,就实现了进程上的隐藏。rundll32.exe的具体使用方法如下:
Rundll32.exe DLLname,Functionname [Arguments]
DLLname为需要执行的DLL文件名;Functionname为前边需要执行的DLL文件的具体引出函数;[Arguments]为引出函数的具体参数。
结合url.dll和rundll32.exe,我们就可以通过在命令行中启动相应程序打开相应文档: 假设我有一个pdf文档,存放在c: est.pdf 。打开命令行, 运行如下 命令:
rundll32 url.dll FileProtocolHandler file://c: est.pdf 

    好了,我们知道如何运行命令来打开相应文档。那么,要在java代码中调用,也就很简单了。这里我们就要用到java运行时环境了。每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时(java.lang.Runtime)。它有一个exec(String command)方法,能在单独的进程中执行指定的字符串命令,我们就用它来实现调用windows应用程序。
如下调用:
String cmd="rundll32 url.dll FileProtocolHandler file://c: est.pdf ";//要打开的文件的路径
Process p = Runtime.getRuntime().exec(cmd);//创建一个子进程来执行以上命令,打开文件
现在,我们就实现了通过统一的方式打开文档的方法。(只要IE能打开的文档,这个java程序就能打开)。

2.利用Desktop实现
    java.awt.Desktop类允许 Java 应用程序启动已在本机桌面上注册的关联应用程序,以处理 URI 或文件。
    它支持的操作包括:
    启动用户默认浏览器来显示指定的 URI;
    启动带有可选 mailto URI 的用户默认邮件客户端;
    启动已注册的应用程序,以打开、编辑或打印指定的文件。
此类提供与这些操作对应的方法。这些方法查找在当前平台上注册的关联应用程序,并启动该应用程序来处理 URI 或文件。如果没有关联应用程序或关联应用程序无法启动,则抛出异常。而应用程序被注册为 URI 或文件类型,注册、访问和启动关联应用程序的机制与平台有关。使用方法如下:
Desktop desk=Desktop.getDesktop();
try
{
    File file=new File("E:\电子书\Java开发\java简单基础教程.chm");//创建一个java文件系统
    desk.open(file); //调用open(File f)方法打开文件 
}catch(Exception e)
{
    System.out.println(e.toString());
}

凡是在当前平台上已注册并关联的文件都能这样打开。

分享到:
评论

相关推荐

    Java项目开发与毕业设计指导

    像其他的Java应用程序一样,Aglet平台需要通过Java policy文件(通常是.java.policy)来打开Socket、执行Agent、获取本地文件等。这项工作可以通过ant来完成,我们可以在bin目录下输入如下指令: ant install-home...

    java源码包---java 源码 大量 实例

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    JAVA上百实例源码以及开源项目

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    java源码包4

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    java源码包3

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    java源码包2

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    JAVA上百实例源码以及开源项目源代码

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码...

    jclasslib.rar_Java 8_java8 下载_java字节码查看工具;_jclasslib.jar_允许修改Jav

    2、Windows 7兼容的安装程序和启动器。 3、“字段”和“方法”的详细面板现在具有“复制到剪贴板”按钮将所有签名复制到系统剪贴板。 4、在字节码显示的底部,现在有一个下拉列表,其中包含所有使用的操作码和一个...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码...

    Editplus 3[1].0

    在editplus里打开文件,出来打开文件对话框;然后点击“转换器”后面的那个省略号,会出来自定义转换器对话框;在右边选择你需要的编码方式,添加到左边,然后点确定;最后在下拉框中选择需要的编码方式,然后打开...

    STM32CubeMX 5.0.0

    STM32CubeMX项目包括生成的初始化C代码,STM32 HAL驱动程序,用户配置所需的中间件堆栈以及在所选IDE中打开和构建项目所需的所有相关文件。 用户定义的应用程序序列的功耗计算。 自我更新允许用户使STM32CubeMX保持...

    testlinkconvert2

    【切记】文件转换过程中会产生1个文件,请不要在文件转换过程中打开或删除这个文件,否则该文件无法被程序访问,导致最终得到的文件丢失数据或程序终止; 2.空文件、不符合testlink导出的xml规范的文件、不符合...

    高焕堂<应用框架原理与程序设计>源代码(Eclipse)

    解压该文件,打开Cygwin进入其目录(Cygwin指令:cd D:/android-ndk-1.6_r1)下运行Cygwin指令 build/host-setup.sh 提示安装成功。 在Ex36CModel目录下创建Application.mk文件,并创建jni目录,该目录下包含...

    操作系统重装后oracle数据库的恢复

    重做操作系统后oracle数据库的恢复 文件夹中文件说明: ora.reg oracle主要注册项的恢复参考文件 oraodbc.reg odbc驱动项的恢复参考文件 oraole1~4.reg ole 驱动项的恢复参考文件 ...可以打开其它应用程序了。

    网管教程 从入门到精通软件篇.txt

    如果不能在启动目录(默认为 %systemroot%System32)中找到该文件,将试着在 Windows 安装 CD 中找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 Diskpart  创建和删除硬盘...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    本书是第II卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作...

    apache-tomcat-9.0.31-windows-x64.zip

    2&gt;打开浏览器访问地址: http://localhost:8080/docs/index.html 案例 自定义静态服务端应用,提供文件下载。 1&gt;打包应用程序。 downloads |---xxx.zip |---xxx.png |---xxx.rmvb |---xxx.jpg 2&gt;...

Global site tag (gtag.js) - Google Analytics