当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

获取系统属性值

发表于: 2008-12-07   作者:Dead_knight   来源:转载   浏览次数:
摘要: 一、通过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.Inpu
一、通过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类进行处理……)

获取系统属性值

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
import java.io.File; import java.io.FileNotFoundException; import java.io.FileWriter; import
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <me
-----转载(IE8 下) 在最近所做的一个项目中,要求用jquey easyUi控件来做一个工资核算的展示页面,
之前做文件上传功能时有在config文件的<httpRuntime>节点来做设置,其中不乏还有其它参数,也
r如何获取元素的style属性呢? 一般我们想到的方法是使用obj.style 例如 <nav> <div id="ov
r如何获取元素的style属性呢? 一般我们想到的方法是使用obj.style 例如 <nav> <div id="ov
r如何获取元素的style属性呢? 一般我们想到的方法是使用obj.style 例如 <nav> <div id="ov
r如何获取元素的style属性呢? 一般我们想到的方法是使用obj.style 例如 <nav> <div id="ov
r如何获取元素的style属性呢? 一般我们想到的方法是使用obj.style 例如 <nav> <div id="ov
为了获取html代码一些标签属性,我们可以把这些html当作为一段xml的字符串来处理。可以参考下图: 上
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号