Java 获取系统信息及Desktop类
2008-10-30 21:45
295 查看
原来在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) {
//此为无法获取系统默认浏览器
}
}
}
}
了类似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使用sigar获取linux系统内存使用信息 注意事项
- 使用Java获取系统信息的常用代码整理总结
- java获取系统信息 转载
- 如何利用Java获取系统的信息(CPU、内存、各盘符使用情况)
- 基于JAVA代码 获取手机基本信息(本机号码,SDK版本,系统版本,手机型号)
- JavaWeb中通过从request请求中获取浏览器类型、系统信息、客户端ip等信息
- Java如何获取系统信息(包括操作系统、jvm、cpu、内存、硬盘、网络、io等)
- java获取客服端信息(系统,浏览器等)
- Java 获取操作系统名字、系统版本、cpu信息
- Java,jsp 获取jdk、系统、服务器等信息
- java获取当前系统信息
- 【Java】【系统状态】获取系统信息(包括操作系统、jvm、cpu、内存、硬盘、网络、io等)
- java源码分析:从System类中获取系统关键属性信息
- java 获取系统信息及CPU的使用率
- Java如何获取系统信息(包括操作系统、jvm、cpu、内存、硬盘、网络、io等)
- Java获取电脑CPU个数及系统信息
- java system类使用方法示例 获取系统信息
- java获取系统信息:java的信息、操作系统的信息、用户的信息、虚拟机的信息、系统设置的信息。
- java项目中使用Sigar获取系统信息