通过java可以获取系统信息,例如
System.getProperty("os.name");//获取操作系统名称
但是不知道除了os.name以外还有其它什么属性可以获取。
for (Enumeration e = System.getProperties().keys(); e.hasMoreElements();)
System.out.println(e.nextElement());
将打印出属性集
java.runtime.name
sun.boot.library.path
java.vm.version
java.vm.vendor
java.vendor.url
path.separator
java.vm.name
file.encoding.pkg
sun.java.launcher
user.country
sun.os.patch.level
java.vm.specification.name
user.dir
java.runtime.version
java.awt.graphicsenv
java.endorsed.dirs
os.arch
java.io.tmpdir
line.separator
java.vm.specification.vendor
user.variant
os.name
sun.jnu.encoding
java.library.path
java.specification.name
java.class.version
sun.management.compiler
os.version
user.home
user.timezone
java.awt.printerjob
file.encoding
java.specification.version
java.class.path
user.name
java.vm.specification.version
java.home
sun.arch.data.model
user.language
java.specification.vendor
awt.toolkit
java.vm.info
java.version
java.ext.dirs
sun.boot.class.path
java.vendor
file.separator
java.vendor.url.bug
sun.io.unicode.encoding
sun.cpu.endian
sun.desktop
sun.cpu.isalist
因为Properties继承了HashTable,所有我们可以通过以下方法获得操作系统信息的键值对
Set<Entry<Object, Object>> kk = System.getProperties().entrySet();
for (Map.Entry<Object, Object> m1 : kk) {
System.out.println(m1.getKey() + "==" + m1.getValue());
}
打印出来的效果为:
java.runtime.name==Java(TM) SE Runtime Environment
sun.boot.library.path==D:\Java\jdk1.6.0_10\fastdebug\jre\bin
java.vm.version==1.6.0_10-ea-fastdebug-b08-fastdebug
java.vm.vendor==Sun Microsystems Inc.
java.vendor.url==http://java.sun.com/
path.separator==;
java.vm.name==Java HotSpot(TM) Client VM
file.encoding.pkg==sun.io
sun.java.launcher==SUN_STANDARD
user.country==CN
sun.os.patch.level==Service Pack 3
java.vm.specification.name==Java Virtual Machine Specification
user.dir==D:\workspace\Test
java.runtime.version==1.6.0_10-ea-fastdebug-b08
java.awt.graphicsenv==sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs==D:\Java\jdk1.6.0_10\fastdebug\jre\lib\endorsed
os.arch==x86
java.io.tmpdir==C:\DOCUME~1\baomi\LOCALS~1\Temp\
line.separator==
java.vm.specification.vendor==Sun Microsystems Inc.
user.variant==
os.name==Windows XP
sun.jnu.encoding==GBK
java.library.path==D:\Java\jdk1.6.0_10
java.specification.name==Java Platform API Specification
java.class.version==50.0
sun.management.compiler==HotSpot Client Compiler
os.version==5.1
user.home==C:\Documents and Settings\baomi
user.timezone==
java.awt.printerjob==sun.awt.windows.WPrinterJob
file.encoding==UTF-8
java.specification.version==1.6
java.class.path==D:\workspace\Test\bin
user.name==baomi
java.vm.specification.version==1.0
java.home==D:\Java\jdk1.6.0_10\fastdebug\jre
sun.arch.data.model==32
user.language==zh
java.specification.vendor==Sun Microsystems Inc.
awt.toolkit==sun.awt.windows.WToolkit
java.vm.info==mixed mode
java.version==1.6.0_10-ea-fastdebug
java.ext.dirs==D:\Java\jdk1.6.0_10\fastdebug\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
sun.boot.class.path==D:\Java\jdk1.6.0_10\fastdebug\jre\lib\resources.jar;D:\Java\jdk1.6.0_10\fastdebug\jre\lib\rt.jar;D:\Java\jdk1.6.0_10\fastdebug\jre\lib\sunrsasign.jar;D:\Java\jdk1.6.0_10\fastdebug\jre\lib\jsse.jar;D:\Java\jdk1.6.0_10\fastdebug\jre\lib\jce.jar;D:\Java\jdk1.6.0_10\fastdebug\jre\lib\charsets.jar;D:\Java\jdk1.6.0_10\fastdebug\jre\classes
java.vendor==Sun Microsystems Inc.
file.separator==\
java.vendor.url.bug==http://java.sun.com/cgi-bin/bugreport.cgi
sun.io.unicode.encoding==UnicodeLittle
sun.cpu.endian==little
sun.desktop==windows
sun.cpu.isalist==baomi
分享到:
相关推荐
Java提供了一个名为`Properties`的类,它继承自`Dictionary`,进一步扩展了`Hashtable`,用于处理键值对,特别适用于存储配置信息和系统属性。 `Properties`类提供了多种方法来操作和获取系统属性。例如: 1. `...
在给定的标题"Java Bean 遍历和使用注解给Bean的属性添加属性值"中,我们可以深入探讨两个主要主题:Java Bean的遍历和注解的应用。 1. **Java Bean遍历**: - **反射机制**:遍历Java Bean通常涉及使用Java的反射...
可以通过调用`System.getProperty(key)`方法来获取特定的系统属性值。其中`key`是一个字符串,表示想要查询的属性名。 ```java String osName = System.getProperty("os.name"); System.out.println("Operating...
总结,Java反射机制为我们提供了强大的动态性,能够方便地获取和操作类的属性和方法,包括私有成员和子类父类中的成员。通过熟练掌握反射技术,开发者可以实现更灵活、更动态的代码,但也需要谨慎使用,以避免潜在的...
这些`Field`对象提供了设置和获取字段值的能力,通过`set()`和`get()`方法。 ```java Class<?> clazz = Class.forName("com.example.YourClass"); Field[] fields = clazz.getDeclaredFields(); for (Field ...
这篇博客文章可能讨论了如何利用反射机制来获取类的私有属性并读取其对应的属性值。以下是关于这个主题的详细解释。 首先,我们需要理解什么是反射。Java反射API提供了一系列类和接口,如`Class`、`Field`、`Method...
首先通过`System.getProperties()`获取属性列表,然后通过`Properties`对象的`stringPropertyNames()`方法获取属性键的集合,再通过迭代器遍历键值对,并使用`getProperty()`方法获取对应的值,最后通过日志框架...
在Java编程语言中,"在父类获取子类属性"是一个常见的需求,特别是在设计模式、继承和多态性等核心概念的应用中。这个主题涉及到面向对象编程的基本原理,特别是子类继承父类后如何访问和操作子类特有的属性。下面...
利用反射获取实例化类的属性值和属性值!很实用,直接复制到控制台就行了!
总结起来,Java反射为我们提供了在运行时操作类、方法和属性的强大工具,包括调用私有方法和获取私有属性值。然而,它也是一把双刃剑,使用时需权衡利弊,确保代码的稳定性和安全性。在处理私有成员时,务必注意对...
4.如何使用反射机制设置对象的属性值 5.反射机制的优缺点和使用场景 6.如何处理反射机制中的异常 这篇文章展示了Java反射机制的基本概念和使用方法,并提供了一个实用的例子来展示如何使用反射机制来获取对象的属性...
在Java编程中,环境变量和系统属性是两种不同的概念,它们各自有着不同的用途和获取方法。环境变量是操作系统用来指定系统运行环境的一些参数,如临时文件目录等。系统属性则是Java运行时环境(JRE)提供的、关于...
如果属性值发生变化,就会将变化记录到结果Map中,其中`DiffResult`是一个自定义的类,用来存储旧值和新值。 `PriceCheckDetail.java`可能是`ObjectCompareUtil`的一个使用示例,它可能定义了一个`PriceCheckDetail...
总之,NDK开发中C语言调用Java方法和获取属性是通过JNI接口完成的,这涉及到对JNI规范的理解,包括函数签名、方法和字段ID的获取,以及调用和访问的方法。正确使用这些机制,可以有效地在本地代码和Java代码之间交互...
### Java 类文件通过 $ 获取 properties 文件的属性值 在Java开发中,经常需要读取配置文件中的信息,例如数据库连接信息、系统环境变量等。这些配置通常存储在`.properties`文件中,便于维护和管理。本文将详细...
在Java编程语言中,获取操作系统的信息对于环境配置、程序...开发人员可以根据需要选择合适的系统属性来获取所需的操作系统信息和其他关键数据。此外,理解这些属性的具体含义也有助于更高效地利用Java语言的各种特性。
// 获取属性值 String url = prop.getProperty("database.url"); String username = prop.getProperty("database.username"); String password = prop.getProperty("database.password"); // 输出属性值 ...
在IT行业中,尤其是在GIS(地理信息系统)开发领域,SuperMap Objects是一个重要的组件库,它提供了丰富的接口和类,用于创建地图应用和进行空间数据处理。本篇将详细讲解如何在Java环境中利用SuperMap Objects进行...
此外,`SetValue`方法使我们能够在运行时修改对象的属性值,展示了反射机制的灵活性。在实际开发中,反射机制常用于插件系统、配置管理、序列化和反序列化以及动态代码执行等场景。但需要注意的是,反射的使用会带来...
第二列则展示和编辑属性值,根据属性类型的不同,编辑器可以是文本框、下拉框、组合框或是自定义的对话框。当属性值发生变化时,编辑器需要能够通知到关联的对象。 为了实现这一功能,开发者需要创建一个`...