原来在GUI界面的MailClient中加入了类似OutLook的URL跳转支持,用的是Runtime接口.执行cmd来启动浏览器打开链接.这样当然有很多缺点了.依赖操作系统也可能会出现一些不安全问题.所以刚才上网查了一下Java SE 6.0的新功能.以前Java SE 6.0刚推出的时候看过新功能的资料.但是当时只用了一个Tray工具栏图标.其他的只是大概知道了他们的存在.
现在又看了一次介绍.本来刚才只发现用System.getProperties()可以获取系统的信息.包括JDK路径,系统版本等等信息.我需要的是System.getProperty("sun.desktop")获取系统类型,因为我用的是Windows操作系统,所以返回的String为windows.用System.getProperty("os.name")可以获取更详细的一些信息,我得到的结果为windows xp
现在给大家推荐一些我认为有些作用的字段
user.home 可以获取当前用户的主目录
java.specification.version 获取当前JDK的版本号
java.class.path 获取classpath
user.name 获取当前用户名
java.home 获取JDK路径
sun.os.patch.level 获取系统版本号..也可以说是补丁号 我的显示为Service Pack 2
user.dir 当前程序的主目录
os.arch 显示系统操作系统的类型 我的显示为X86
os.version 显示系统内部版本号
java.io.tmpdir 显示当前系统的临时目录
后来发现Java SE 6.0的新功能比这样先判断操作系统类型再执行特定操作方便多了.因为java.awt.Desktop类的java.awt.Desktop.isDesktopSupported()可以获取当前系统是否支持java awt桌面扩展.如果支持可以获取当前系统的Desktop
java.awt.Desktop dp = java.awt.Desktop.getDesktop();
dp.browse(java.net.URI);
就可以启动系统默认的浏览器,所以也就解决了跨平台的问题.下面是示例代码:
public class TestSystem {
public static void main(String[] args) {
//判断当前系统是否支持Java AWT Desktop扩展
if(java.awt.Desktop.isDesktopSupported()){
try {
//创建一个URI实例
java.net.URI uri = java.net.URI.create("http://www.163.com/");
//获取当前系统桌面扩展
java.awt.Desktop dp = java.awt.Desktop.getDesktop();
//判断系统桌面是否支持要执行的功能
if(dp.isSupported(java.awt.Desktop.Action.BROWSE)){
//获取系统默认浏览器打开链接
dp.browse(uri);
}
} catch(java.lang.NullPointerException e){
//此为uri为空时抛出异常
} catch (java.io.IOException e) {
//此为无法获取系统默认浏览器
}
}
}
}
分享到:
相关推荐
这个库可能使得Java应用能更自然地与用户操作系统交互,提供类似于本机远程桌面的体验。 "远程桌面 Java Remote Desktop.tar"这个压缩包可能包含了以下组件: 1. **源代码**:Java编写的远程桌面客户端和服务端程序...
使用`java.nio.file.Paths`类的`get()`方法,结合系统属性,可以安全地获取桌面路径,处理不同操作系统的差异: ```java Path desktopPath = Paths.get(System.getProperty("user.home"), "Desktop"); ``` 这个...
4. **系统集成**:可能包含与操作系统交互的API,如打开文件、打印文档、访问剪贴板、获取系统信息等,使得Java应用能更好地融入本地环境。 5. **数据持久化**:为了存储用户设置或应用数据,库可能提供数据库连接...
首先,Java提供了`Desktop`类,它是`java.awt.Desktop`包的一部分,可以用来与用户的桌面环境进行交互,包括打开浏览器、编辑文件、打印文档等。以下是一个简单的示例,展示如何使用`Desktop`类打开URL: ```java ...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
这个任务可以通过使用Java的`java.awt.Desktop`类来完成,该类提供了一种与操作系统进行交互的方法,包括打开浏览器、编辑文件、播放音频等。在"java 打开浏览器"这个主题中,我们将深入探讨如何使用Java实现这一...
D:\002 我的工具类\001 流 D:\002 我的工具类\001 流\文件操作整体 D:\002 我的工具类\001 流\文件操作整体\FileEncodingUtil.java ...D:\002 我的工具类\027 Java6实现调用操作平台桌面系统\DesktopDemo.java
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...
要获取用户的桌面路径,可以使用`java.awt.Desktop`类的静态方法`getDesktopDirectory()`。以下是如何做到这一点的代码示例: ```java import java.awt.Desktop; import java.io.File; public class Main { ...
其中,最显著的两个新特性当属`Desktop`类和`SystemTray`类的加入,它们使得Java应用能够更加无缝地集成到桌面环境中,提供了与操作系统更深层次的交互能力。 ### `Desktop`类 `Desktop`类是JDK 6中新增的一个类,...
Java并不直接支持通知,但可以通过第三方库,如JavaFX或使用操作系统级别的API(如Java的`Desktop`类),在备忘触发时弹出通知。 总结一下,实现一个Java备忘时钟需要以下步骤: 1. 理解和使用`java.time`包处理...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...
标题“Desktop.zip”提示我们关注的是一个包含与桌面环境相关的文件的压缩包,而描述中的“jad-反编译”关键词则将焦点引向了Java应用程序的反编译过程。在IT领域,反编译是一种技术,用于将已编译的计算机程序(如...
总结来说,使用`java.awt.Desktop`类是推荐的方法,因为它更简洁、跨平台,且无需处理操作系统命令。而使用`Runtime.getRuntime().exec()`则需要根据具体操作系统编写不同的命令,虽然灵活性高,但增加了代码的复杂...
开发者可能利用了Java的ServerSocket和Socket类进行客户端与服务器端的数据通信,或者是通过Servlet和JSP技术构建动态Web应用,以实现用户登录、试题获取、提交答案等功能。 对于本地版,可能是以Java Desktop ...
在Java中,我们通常使用`java.awt.Desktop`类来实现这个功能,该类提供了与本地桌面环境交互的能力,包括浏览网页、编辑文件、发送邮件等。下面将详细解释如何使用`Desktop`类来打开网页。 首先,确保引入了`java....
另一个关键的类是`SystemOS.java`,虽然这个文件名没有在描述中明确提及,但通常情况下,这可能是用来处理操作系统相关的操作,例如获取当前操作系统信息,或者根据不同的操作系统平台调整`JFileChooser`的行为。...
- **跨平台支持**:适用于Windows、macOS和Linux等不同操作系统。 - **错误修复**:解决之前版本存在的问题,提升软件稳定性。 4. **使用教程**:初次使用Redis Desktop Manager时,用户需要配置服务器信息,包括...
该库基于JNA(Java Native Access)技术,能够调用操作系统级别的RDP接口,实现与Windows、Linux等系统之间的远程连接。 3. **JNA(Java Native Access)**: JNA是Java平台上的一个库,允许Java代码直接调用操作...
此时,可能需要寻找其他方式,如使用Java的`java.awt.Desktop`类来唤醒操作系统自带的计划任务工具,或者使用第三方库如`JNA`(Java Native Access)来直接调用操作系统API。 此外,为了增加程序的健壮性和用户体验...