`
liufei.fir
  • 浏览: 678590 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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. }    
分享到:
评论

相关推荐

    Java的System.getProperty()方法获取大全

    主要介绍了Java的System.getProperty()方法获取大全,罗列了System.getProperty()方法获取各类信息的用法,具有一定的参考借鉴价值,需要的朋友可以参考下

    System.getProperty

    System.getProperty 通过该方法获取系统属性信息 很好

    JAVA获取操作系统名称

    java获取操作系统名称,通过 System.getProperty("os.name") 由于JDK的bug,Windows Server 2012 R2获取到的System.getProperty("os.name") 为 Window NT unknown 因此需要通过JNA(Java Native Access )调用...

    linux opencvjava320.so

    liunx opencv java320.so System.getProperty("java.library.path") 获取到library路径然后把so文件放到该目录下

    JAVA获取项目路径.doc

    利用System.getProperty()函数获取当前路径: System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径

    java log4j统一打印在user.dir目录下(windows、linux通用、不用考虑不同操作系统分隔符不一致的情况)

    java log4j统一打印在user.dir目录下(windows、linux通用、不用考虑不同操作系统分隔符不一致的情况)

    java获取当前路径的几种方法

    1、利用System.getProperty()函数获取当前路径:  System.out.println(System.getProperty(user.dir));//user.dir指定了当前的路径  2、使用File提供的函数获取当前路径:  File directory = new File(&#...

    JAVA得到网卡物理地址(windows和Linux)

    在上面的代码中,我们首先使用 System.getProperty("os.name") 方法来获取当前操作系统的名称,然后根据操作系统的名称来选择不同的获取网卡物理地址的方法。在 Windows 操作系统中,我们使用 ipconfig 命令来获取...

    java得到机器的MAC,硬盘序列序列号和IP地址

    String osName = System.getProperty("os.name"); StringBuffer systemPathBuff = new StringBuffer(""); if (osName.indexOf("Windows") > -1) ...{ // Windows操作系统的cmd.exe的绝对路径 systemPathBuff....

    如何在JavaME平台上获取手机串号

    注意:在Java ME平台上获取手机串号,在某些手机中是可行的,但是某些手机中就是无法获取的。对于即便是可以获取串号的手机来...在诺基亚手机中,我们可以这样获取手机串号: System.getProperty("com.nokia.mid.imei")

    怎么在JAVA中获取网络连接详细信息

    怎么在JAVA中获取网络连接详细信息,通过System.getProperty类来获得系统参数!

    java项目路径(相关信息)的取得

    System.getProperty(),java项目路径(相关信息)的取得

    Java中获取IP地址,主机名称,网卡地址

    在 Java 中,我们可以使用 InetAddress 类的 getLocalHost() 方法来获取本地主机的 IP 地址。这个方法将返回一个 InetAddress 对象,其中包含了主机的 IP 地址。 ```java InetAddress myIPaddress = InetAddress....

    Java文件路径详解

    在 Java 中,可以使用 System.getProperty("user.dir") 来获取相对路径。该路径是相对于项目的根目录的。在 Web 项目中,该路径视不同的 Web 服务器不同而不同。 例如,在 Tomcat 中,该路径是相对于 Tomcat 安装...

    Java路径的最终解决方案:相对路径寻址

    文中指出尽量不要使用相对于System.getProperty(\\\"user.dir\\\")当前用户目录的相对路径。这是一颗定时炸弹,随时可能要你的命。尽量使用URI形式的绝对路径资源。它可以很容易的转变为URI,URL,File对象。尽量使用...

    BeanUtils用法

    * `getProperty(java.lang.Object bean, java.lang.String propertyName)`:这个方法用于获取Bean的某个属性的值。 例如: ```java Month month = new Month(1, "Jan"); Object value = BeanUtils.getProperty...

    跨项目调用webservice接口

    *这里是我的参数放在了properties文件中,我在读取里面的参数,这里我们也可以通过方法传参数 *如 : testWebService(String url,String xMlStr)() 那么在调用的时候就可以直接传进来了 *url 是你访问的webservice 的...

    利用Java发送邮件(含附件)的例子

    } catch (Exception e) { System.err.println("获取邮件会话对象时发生错误!" + e); return false; } try { mimeMsg = new MimeMessage(session); // 用session对象来创建并初始化邮件对象 mp = new MimeMultipart...

    servlet3.0新特性源代码

    System.out.println(System.getProperty("user.dir"));//输出当前的项目存放的路径 String uploadPath=req.getSession().getServletContext().getRealPath("/upload"); System.out.println(uploadPath);//输出...

    带注释的Bootstrap.java

    //System.getProperty("user.dir"),获取当前目录 //由于是在$CATALINA_HOME\bin下运行的Bootstrap,所以userDir为$CATALINA_HOME\bin String userDir = System.getProperty("user.dir"); // Home first //...

Global site tag (gtag.js) - Google Analytics