java的System.getProperty()方法可以获取的值,
分享于 点击 24476 次 点评:15
java的System.getProperty()方法可以获取的值,
java的System.getProperty()方法可以获取的值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
用户的当前工作目录
获取的代码示例:
view plaincopy to clipboardprint?
public class SystemProperty {
public static void main(String args[]) {
System.out.println("java_vendor:" + System.getProperty("java.vendor"));
System.out.println("java_vendor_url:"
+ System.getProperty("java.vendor.url"));
System.out.println("java_home:" + System.getProperty("java.home"));
System.out.println("java_class_version:"
+ System.getProperty("java.class.version"));
System.out.println("java_class_path:"
+ System.getProperty("java.class.path"));
System.out.println("os_name:" + System.getProperty("os.name"));
System.out.println("os_arch:" + System.getProperty("os.arch"));
System.out.println("os_version:" + System.getProperty("os.version"));
System.out.println("user_name:" + System.getProperty("user.name"));
System.out.println("user_home:" + System.getProperty("user.home"));
System.out.println("user_dir:" + System.getProperty("user.dir"));
System.out.println("java_vm_specification_version:"
+ System.getProperty("java.vm.specification.version"));
System.out.println("java_vm_specification_vendor:"
+ System.getProperty("java.vm.specification.vendor"));
System.out.println("java_vm_specification_name:"
+ System.getProperty("java.vm.specification.name"));
System.out.println("java_vm_version:"
+ System.getProperty("java.vm.version"));
System.out.println("java_vm_vendor:"
+ System.getProperty("java.vm.vendor"));
System.out
.println("java_vm_name:" + System.getProperty("java.vm.name"));
System.out.println("java_ext_dirs:"
+ System.getProperty("java.ext.dirs"));
System.out.println("file_separator:"
+ System.getProperty("file.separator"));
System.out.println("path_separator:"
+ System.getProperty("path.separator"));
System.out.println("line_separator:"
+ System.getProperty("line.separator"));
}
System.getProperty(String name)方法用于得到系统的属性.System是在lang包中的一个类,这个类中存在大量和系统打交道的实用方法,而且一般都是类方法,.getProperty(String key)就是其中一个比较常用的方法,用于返回系统参数文件中这个方法指定键所代表的值。
下面是该方法的常用参数。关键意义
-------------------------------------------------
java.versionjava.version Java运行环境版本
java.vendorjava.vendor Java运行环境卖主
java.vendor.urljava.vendor.url Java卖主的URL
java.homejava.home Java的安装目录
java.vm.specification.version Java虚拟机规范版本
java.vm.specification.vendor Java虚拟机规范供应商
java.vm.specification.name Java虚拟机规范名称
java.vm.versionjava.vm.version Java虚拟机执行版本
java.vm.vendorjava.vm.vendor Java虚拟机实现供应商
java.vm.namejava.vm.name Java虚拟机实现名称
java.specification.version Java运行时环境规范版本
java.specification.vendor Java运行时环境规范供应商
java.specification.name Java运行时环境规范名称
java.class.versionjava.class.version Java类格式版本号
java.class.pathjava.class.path Java类路径
java.library.pathjava.library.path 名单上的路径搜索时,装载图书馆
java.io.tmpdirjava.io.tmpdir 默认temp文件路径
java.compilerjava.compiler 名称JIT编译器使用
java.ext.dirsjava.ext.dirs 道路扩建目录或目录
os.name 操作系统名称
os.archos.arch 操作系统体系结构
os.versionos.version 操作系统版本
file.separatorfile.separator 文件分隔符("/"在UNIX)
path.separatorpath.separator 路径分隔符(":"在UNIX)
line.separatorline.separator 线分离("\氮",在Unix)
user.nameuser.name 用户的帐号名称
user.homeuser.home 用户的home目录
user.diruser.dir 用户的当前工作目录
一、通过System.getProperties()获取系统常用属性:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.lang.System;
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Hashtable;
import java.util.Enumeration;
import java.util.StringTokenizer;
public class SystemInfo
{
private static Properties _property;
public static void main(String[] a)
{
_property=System.getProperties();
Hashtable hashKey;
hashKey=new Hashtable();
hashKey.put("java.home", "Java安装目录");
hashKey.put("java.class.path", "装载类的路径");
hashKey.put("java.specification.version", "Java API 规范的版本");
hashKey.put("java.specification.vendor", "Java API 规范的厂商");
hashKey.put("java.specification.name", "Java API 规范的名称");
hashKey.put("java.version", "Java API 实现的版本");
hashKey.put("java.vendor", "Java API 实现的厂商");
hashKey.put("java.vendor.url", "Java API 规范厂商的URL");
hashKey.put("java.vm.specification.version", "Java虚拟机规范的版本");
hashKey.put("java.vm.specification.vendor", "Java虚拟机规范的厂商");
hashKey.put("java.vm.specification.name", "Java虚拟机规范的名称");
hashKey.put("java.vm.version", "Java虚拟机实现的版本");
hashKey.put("java.vm.vendor", "Java虚拟机实现的厂商");
hashKey.put("java.vm.name", "Java虚拟机实现的名称");
hashKey.put("java.class.version", "Java类文件格式的版本");
hashKey.put("os.name", "主机操作系统的名称");
hashKey.put("os.arch", "主机操作系统的体系结构");
hashKey.put("os.version", "主机操作系统的版本");
hashKey.put("file.separator", "平台目录的分隔符");
hashKey.put("path.separator", "平台路径的分隔符");
hashKey.put("line.separator", "Java虚拟机规范的厂商");
hashKey.put("user.name", "当前用户的帐户名称");
hashKey.put("user.home", "当前用户的根目录");
hashKey.put("user.dir", "当前工作目录");
Enumeration enum = hashKey.keys();
String propertyKey;
while(enum.hasMoreElements())
{
propertyKey=(String)enum.nextElement();
System.out.println((String)hashKey.get(propertyKey)+":"+_property.getProperty(propertyKey));
}
System.out.println(getComputer());
System.out.println(getIpAddress());
}
/**
获取电脑名称
*/
public static String getComputer()
{
String hostName="" ,ip = "";
try
{
ip = InetAddress.getLocalHost().toString();
StringTokenizer tok = new StringTokenizer(ip, "/");
hostName = tok.nextToken();
}
catch (Exception e)
{
e.printStackTrace();
}
return hostName;
}
/**
获取IP地址
*/
public static String getIpAddress()
{
String hostName = "";
String ip = "";
try
{
ip = InetAddress.getLocalHost().toString();
StringTokenizer tok = new StringTokenizer(ip, "/");
hostName = tok.nextToken();
ip = tok.nextToken();
}
catch (Exception e)
{
e.printStackTrace();
}
return ip;
}
}
二、由于需求要求获取unix环境下的进程信息,故需要使用Runtime来解决,方案如下:
1.通过编写unix中的shell脚本,如monitor.sh内容:
#!/bin/bash
log_home=/export/home/bea/imep/monitor/imep.log
date +"%Y-%m-%d-%H:%M:%S" > $log_home
ps -ef | grep java >> $log_home
该脚本用于将ps -ef | grep java(当前系统java进程信息)打印的内容重定向至/export/home/bea/imep/monitor/imep.log文件下
2.使用JAVA的Runtime类执行该shell脚本
public void runUnixShell()
{
try
{
Process process = Runtime.getRuntime().exec(“/export/home/bea/imep/monitor/monitor.sh”);
process.waitFor();
}catch(Exception e)
{
e.printStackTrace();
}
}
而后对此日志文件export/home/bea/imep/monitor/imep.log
进行解析。
3.方法很多,可以更深入研究(可以直接解析unix自动生成的所有进程日志内容,或者通过Process类进行处理……)
1. public class SystemProperty {
2. public static void main(String args[]) {
3. System.out.println("java_vendor:" + System.getProperty("java.vendor"));
4. System.out.println("java_vendor_url:"
5. + System.getProperty("java.vendor.url"));
6. System.out.println("java_home:" + System.getProperty("java.home"));
7. System.out.println("java_class_version:"
8. + System.getProperty("java.class.version"));
9. System.out.println("java_class_path:"
10. + System.getProperty("java.class.path"));
11. System.out.println("os_name:" + System.getProperty("os.name"));
12. System.out.println("os_arch:" + System.getProperty("os.arch"));
13. System.out.println("os_version:" + System.getProperty("os.version"));
14. System.out.println("user_name:" + System.getProperty("user.name"));
15. System.out.println("user_home:" + System.getProperty("user.home"));
16. System.out.println("user_dir:" + System.getProperty("user.dir"));
17. System.out.println("java_vm_specification_version:"
18. + System.getProperty("java.vm.specification.version"));
19. System.out.println("java_vm_specification_vendor:"
20. + System.getProperty("java.vm.specification.vendor"));
21. System.out.println("java_vm_specification_name:"
22. + System.getProperty("java.vm.specification.name"));
23. System.out.println("java_vm_version:"
24. + System.getProperty("java.vm.version"));
25. System.out.println("java_vm_vendor:"
26. + System.getProperty("java.vm.vendor"));
27. System.out
28. .println("java_vm_name:" + System.getProperty("java.vm.name"));
29. System.out.println("java_ext_dirs:"
30. + System.getProperty("java.ext.dirs"));
31. System.out.println("file_separator:"
32. + System.getProperty("file.separator"));
33. System.out.println("path_separator:"
34. + System.getProperty("path.separator"));
35. System.out.println("line_separator:"
36. + System.getProperty("line.separator"));
37. }
相关文章
- 暂无相关文章
用户点评