在JDK文档中System类中有这样的方法getProperties()在此方法的详细介绍中有下面的参数可供使用:
java.version Java 运行时环境版本
java.vendor Java 运行时环境供应商
java.vendor.url Java 供应商的 URL
java.home Java 安装目录
java.vm.specification.version Java 虚拟机规范版本
java.vm.specification.vendor Java 虚拟机规范供应
java.vm.specification.name Java 虚拟机规范名称
java.vm.version Java 虚拟机实现版本
java.vm.vendor Java 虚拟机实现供应商
java.vm.name Java 虚拟机实现名称
java.specification.version Java 运行时环境规范版本
java.specification.vendor Java 运行时环境规范供应商
java.specification.name Java 运行时环境规范名称
java.class.version Java 类格式版本号
java.class.path Java 类路径
java.library.path 加载库时搜索的路径列表
java.io.tmpdir 默认的临时文件路径
java.compiler 要使用的 JIT 编译器的名称
java.ext.dirs 一个或多个扩展目录的路径
os.name 操作系统的名称
os.arch 操作系统的架构
os.version 操作系统的版本
file.separator 文件分隔符(在 UNIX 系统中是“/”)
path.separator 路径分隔符(在 UNIX 系统中是“:”)
line.separator 行分隔符(在 UNIX 系统中是“/n”)
user.name 用户的账户名称
user.home 用户的主目录
user.dir 用户的当前工作目录
下面是针对这些参数进行的一个测试,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Properties;
import java.util.Set;
public class MyJavaMain {
public static void main(String[] args) throws Exception {
//通过StringBuilder来构建要输出的内容
StringBuilder sb = new StringBuilder();
sb.append( "Java 运行时环境版本:" +System.getProperty( "java.version" )+ "\n" );
sb.append( "Java 运行时环境供应商:" +System.getProperty( "java.vendor" )+ "\n" );
sb.append( "Java 供应商的URL:" +System.getProperty( "java.vendor.url" )+ "\n" );
sb.append( "Java 安装目录:" +System.getProperty( "java.home" )+ "\n" );
sb.append( "Java 虚拟机规范版本:" +System.getProperty( "java.vm.specification.version" )+ "\n" );
sb.append( "Java 类格式版本号:" +System.getProperty( "java.class.version" )+ "\n" );
sb.append( "Java类路径:" +System.getProperty( "java.class.path" )+ "\n" );
sb.append( "加载库时搜索的路径列表:" +System.getProperty( "java.library.path" )+ "\n" );
sb.append( "默认的临时文件路径:" +System.getProperty( "java.io.tmpdir" )+ "\n" );
sb.append( "要使用的 JIT 编译器的名称:" +System.getProperty( "java.compiler" )+ "\n" );
sb.append( "一个或多个扩展目录的路径:" +System.getProperty( "java.ext.dirs" )+ "\n" );
sb.append( "操作系统的名称:" +System.getProperty( "os.name" )+ "\n" );
sb.append( "操作系统的架构:" +System.getProperty( "os.arch" )+ "\n" );
sb.append( "操作系统的版本:" +System.getProperty( "os.version" )+ "\n" );
sb.append( "文件分隔符(在 UNIX 系统中是“/”):" +System.getProperty( "file.separator" )+ "\n" );
sb.append( "路径分隔符(在 UNIX 系统中是“:”):" +System.getProperty( "path.separator" )+ "\n" );
sb.append( "行分隔符(在 UNIX 系统中是“/n”):" +System.getProperty( "line.separator" )+ "\n" );
sb.append( "用户的账户名称:" +System.getProperty( "user.name" )+ "\n" );
sb.append( "用户的主目录:" +System.getProperty( "user.home" )+ "\n" );
sb.append( "用户的当前工作目录:" +System.getProperty( "user.dir" )+ "\n" );
//新建一个文件,如果该文件不存在则创建一个
File file = new File( "c:\\t.txt" );
if ( !file.exists()){
file.createNewFile();
}
OutputStream ous = new FileOutputStream(file);
//获取系统的属性
Properties ps = System.getProperties();
//获得系统属性中的键值
Set<String> set = ps.stringPropertyNames();
for (String name: set){
sb.append(name + " : " +ps.getProperty(name) + "\n" );
System.out.println(name + " : " +ps.getProperty(name) );
}
ous.write(sb.toString().getBytes());
ous.close();
System.out.println(System.getProperty( "os.name" ));
System.out.println(System.getProperty( "os.version" ));
System.out.println( "Java运行时环境版本:" +System.getProperty( "java.version" ));
System.out.println( "Java 运行时环境供应商:" +System.getProperty( "java.vendor" ));
System.out.println( "Java 供应商的URL:" +System.getProperty( "java.vendor.url" ));
System.out.println( "Java 安装目录:" +System.getProperty( "java.home" ));
System.out.println( "Java 虚拟机规范版本:" +System.getProperty( "java.vm.specification.version" ));
System.out.println( "Java 类格式版本号:" +System.getProperty( "java.class.version" ));
System.out.println( "Java 类路径:" +System.getProperty( "java.class.path" ));
System.out.println( "加载库时搜索的路径列表:" +System.getProperty( "java.library.path" ));
System.out.println( "默认的临时文件路径:" +System.getProperty( "java.io.tmpdir" ));
System.out.println( "要使用的 JIT 编译器的名称:" +System.getProperty( "java.compiler" ));
System.out.println( "一个或多个扩展目录的路径:" +System.getProperty( "java.ext.dirs" ));
System.out.println( "操作系统的名称:" +System.getProperty( "os.name" ));
System.out.println( "操作系统的架构:" +System.getProperty( "os.arch" ));
System.out.println( "操作系统的版本:" +System.getProperty( "os.version" ));
System.out.println( "文件分隔符(在 UNIX 系统中是“/”):" +System.getProperty( "file.separator" ));
System.out.println( "路径分隔符(在 UNIX 系统中是“:”):" +System.getProperty( "path.separator" ));
System.out.println( "行分隔符(在 UNIX 系统中是“/n”):" +System.getProperty( "line.separator" ));
System.out.println( "用户的账户名称:" +System.getProperty( "user.name" ));
System.out.println( "用户的主目录:" +System.getProperty( "user.home" ));
System.out.println( "用户的当前工作目录: " +System.getProperty( "user.dir" ));
InetAddress netAddress = getInetAddress();
System.out.println( "host ip:" + getHostIp(netAddress));
System.out.println( "host name:" + getHostName(netAddress));
}
/**
* 获取本地主机
* <a href="http://my.oschina.net/u/556800" class="referer" target="_blank">@return</a>
*/
public static InetAddress getInetAddress() {
try {
return InetAddress.getLocalHost();
} catch (UnknownHostException e) {
System.out.println( "unknown host!" );
}
return null ;
}
/**
* 通过InetAddress获取本地Ip
* @param netAddress
* <a href="http://my.oschina.net/u/556800" class="referer" target="_blank">@return</a>
*/
public static String getHostIp(InetAddress netAddress) {
if ( null == netAddress) {
return null ;
}
String ip = netAddress.getHostAddress();
return ip;
}
/**
* 通过InetAddress获取本地主机的名字
* @param netAddress
* <a href="http://my.oschina.net/u/556800" class="referer" target="_blank">@return</a>
*/
public static String getHostName(InetAddress netAddress) {
if ( null == netAddress) {
return null ;
}
String name = netAddress.getHostName();
return name;
}
} |
然而在Android系统中,却要使用另一种方法才能遍历获得系统的一些属性
1
2
3
4
5
|
Properties ps = System.getProperties(); Set<Entry<Object, Object>> set = ps.entrySet(); for (Entry<Object, Object> ent : set){
Log.v( "ent" , "key:" + ent.getKey() + " |value: " + ent.getValue());
} |
相关推荐
在Java编程语言中,`System.getProperty`方法是一个非常实用且重要的功能,用于获取与系统相关的属性信息。这些属性包括但不限于操作系统、Java运行环境版本、安装目录等关键信息,对于理解和调试程序运行环境有着不...
### Java 设置 HTTP ...此外,还简要介绍了如何通过 `System.getProperties()` 获取 Java 系统属性,这对于理解 Java 环境配置非常有帮助。掌握这些知识点有助于开发者在网络受限的环境下更好地进行开发和测试工作。
Java系统属性主要存储在`System`类中的`Properties`对象里,通过调用`System.getProperties()`方法可以获得所有系统属性的集合。系统属性通常包含以下几类信息: - **操作系统信息**:如操作系统名称(`os.name`)、...
### Java中通过System.getProperties()获取系统参数 在Java编程中,`System.getProperties()`是一个非常实用的方法,它允许开发者访问和获取当前Java运行环境的各种系统属性。这些属性包含了关于Java运行时环境的...
这意味着无论在Windows还是Linux系统上,`System.getProperty("user.dir")`都会返回相应的用户工作目录。这样,我们就可以利用这一特性来确保日志文件的路径与操作系统无关。 配置Log4j主要涉及两个文件:`log4j....
在Java编程中,获取系统属性是一项重要的任务,它允许开发者获取关于操作系统、JVM以及用户环境的详细信息。Java提供了一个名为`Properties`的类,它继承自`Dictionary`,进一步扩展了`Hashtable`,用于处理键值对,...
在Java编程中,读取`.properties`文件是常见的任务,这些文件通常用于存储配置信息,如数据库连接字符串、系统设置等。`.properties`文件是一种基于键值对的文本格式,易于编写和理解。本篇文章将深入探讨如何在Java...
在Java编程中,属性文件(通常以`.properties`为扩展名)是一种常见的配置文件类型,用于存储应用程序的配置参数和设置。这些文件以键值对的形式组织,键和值之间用等号`=`或冒号`:`分隔。在本教程中,我们将深入...
在Java编程中,`.properties`文件是用于存储配置信息的标准格式,这些信息通常包含应用程序运行时所需的设置。`.properties`文件以键值对的形式组织,其中键和值由等号分隔,例如`key=value`。Java提供了内置的`...
在Java开发中,经常需要处理配置文件,其中`properties`文件因其简单易用的特点而被广泛采用。本文将详细介绍如何使用一种高效且简洁的方式读取`properties`文件,并在此基础上进行扩展讲解。 #### 1. 导入必要的库...
Java Properties 类是Java标准库中用于处理配置文件的关键组件,主要负责存储和加载键值对数据,常用于管理应用程序的配置信息。配置文件通常以`.properties`为扩展名,采用文本格式,每行包含一个键值对,键和值...
在Java编程中,获取系统参数是一项基本任务,用于了解运行Java程序的环境信息。Java提供了`java.lang.System`类的`getProperties()`方法来获取这些信息。这个方法返回一个`Properties`对象,该对象包含了关于Java...
在Java编程中,读取`.properties`配置文件是常见的任务,这些文件通常用于存储应用程序的配置参数、系统设置等信息。下面将详细介绍几种在Java中读取`.properties`配置文件的方法。 1. 使用`java.util.Properties`...
在Java编程中,读取properties文件是常见的任务,主要用于配置应用程序的参数或环境变量。properties文件通常以键值对的形式存储数据,便于管理和修改。本文将详细介绍三种在Java中读取properties文件的方法。 1. ...
Java提供了`Properties`类来访问系统的属性。以下代码展示了如何获取操作系统名称、构架及版本等信息: ```java import java.util.Properties; Properties props = System.getProperties(); // 获得系统属性集 ...
在 Java 开发中,操作 `.properties` 文件是常见的任务,这些文件通常用于存储配置信息、国际化文本等。本文将详细讲解如何在 Java 中读取、修改和删除 `.properties` 文件的内容。 1. **资源文件的位置** 在 Java...
在Java编程中,Properties类是用于处理属性列表的,这些属性列表通常存储在`.properties`文件中,用于配置应用程序或存储键值对数据。本文将详细介绍多种读取Properties文件的方法,并提供相关的代码示例。 1. **...
第六章主要讨论的是Java中的System类,这个类包含了与系统密切相关的各种静态方法,便于开发者进行系统级别的操作。 System类是Java.lang包下的一个核心类,它的主要成员都是静态的,因此可以直接通过类名System来...
本文将详细介绍如何在Java中读取`properties`配置文件。 首先,我们需要了解`properties`文件的格式。一个标准的`.properties`文件通常包含多个行,每行由一个键和一个值组成,它们之间用等号(`=`)或冒号(`:`)...