在Java中,显示操作系统相关信息

信 念

人可以被打败,但不可以被打倒。心中有光,任何外来不利因素都扑灭对人生的追求和对未来的向往。很多时候,击败我们的不是别人而是我们对自己失去信心,熄灭了心中那片有如火山一般沉寂的光。只要心中有光,在第一百次被打倒后,就会第一百零一次站起来,并用不屈的毅力和信念赢得未来。

最近编码的时候,由于经常在windows和Mac OS 之间切换,有些代码不能很好的兼容,在整理代码的时候,顺便把使用Java显示常用操作系统信息的方法整理了一下:

public class SystemInfo {
	/**
	 *
	 * @return 操作系统名称
	 */
	public String getOSName() {
		return System.getProperty("os.name");
	}

	/**
	 *
	 * @return 操作系统版本
	 */
	public String getOSVersion() {
		return System.getProperty("os.version");
	}

	/**
	 *
	 * @return 用户账户名称
	 */
	public String getOSUserName() {
		return System.getProperty("user.name");
	}

	/**
	 *
	 * @return 用户主目录
	 */
	public String getOSUserHome() {
		return System.getProperty("user.home");
	}

	/**
	 *
	 * @return 用户当前工作目录
	 */
	public String getOSUserDir() {
		return System.getProperty("user.dir");
	}

	/**
	 *
	 * @return 默认临时文件路径
	 */
	public String getJavaTempDir() {
		return System.getProperty("java.io.tmpdir");
	}

	/**
	 *
	 * @return 类路径
	 */
	public String getJavaClassPath() {
		return System.getProperty("java.class.path");
	}

	/**
	 *
	 * @return 虚拟机实现名称
	 */
	public String getJavaVMName() {
		return System.getProperty("java.vm.name");
	}

	/**
	 *
	 * @return 安装目录
	 */
	public String getJavaHome() {
		return System.getProperty("java.home");
	}

	/**
	 *
	 * @return 运行环境版本
	 */
	public String getJavaVersion() {
		return System.getProperty("java.version");
	}

	/**
	 *
	 * @return 运行环境供应商
	 */
	public String getJavaVendor() {
		return System.getProperty("java.vendor");
	}

	/**
	 *
	 * @return 运行环境供应商url
	 */
	public String getJavaVendorUrl() {
		return System.getProperty("java.vendor.url");
	}

}

测试代码:

public class TestSystemInfo {

	SystemInfo si = new SystemInfo();

	@Test
	public void testGetOSName() {
		String osName = si.getOSName();
		System.out.println("osName  : " + osName);
	}

	@Test
	public void testGetOSVersion() {
		String osVersion = si.getOSVersion();
		System.out.println("osVersion  : " + osVersion);
	}

	@Test
	public void testGetOSUserName() {
		String osUserName = si.getOSUserName();
		System.out.println("osUserName  : " + osUserName);
	}

	@Test
	public void testGetOSUserHome() {
		String osUserHome = si.getOSUserHome();
		System.out.println("osUserHome  : " + osUserHome);
	}

	@Test
	public void testGetOSUserDir() {
		String osUserDir = si.getOSUserDir();
		System.out.println("osUserDir  : " + osUserDir);
	}

	@Test
	public void testGetJavaTempDir() {
		String javaTempDir = si.getJavaTempDir();
		System.out.println("javaTempDir  : " + javaTempDir);
	}

	@Test
	public void testGetJavaClassPath() {
		String javaClassPath = si.getJavaClassPath();
		System.out.println("javaClassPath  : " + javaClassPath);
	}

	public void testGetJavaVMName() {
		String javaVMName = si.getJavaVMName();
		System.out.println("javaVMName  : " + javaVMName);
	}

	@Test
	public void testGetJavaHome() {
		String javaHome = si.getJavaHome();
		System.out.println("javaHome  : " + javaHome);
	}

	@Test
	public void testGetJavaVersion() {
		String javaVersion = si.getJavaVersion();
		System.out.println("javaVersion  : " + javaVersion);
	}

	@Test
	public void testGetJavaVendor() {
		String javaVendor = si.getJavaVendor();
		System.out.println("javaVendor  : " + javaVendor);
	}

	@Test
	public void testGetJavaVendorUrl() {
		String javaVendorUrl = si.getJavaVendorUrl();
		System.out.println("javaVendorUrl  : " + javaVendorUrl);
	}

}

在Java中,显示操作系统相关信息

时间: 2024-11-13 12:40:49

在Java中,显示操作系统相关信息的相关文章

Java中获取系统相关信息——sigar

一.sigar简介 sigar中文名是系统信息收集和报表工具,是一个开源的工具,提供了跨平台的系统信息收集的API,可以和绝大多数操作系统和大多数版本打交道,可以收集的信息包括: 1.操作系统的信息,包括:dataModel.cpuEndian.name.version.arch.machine.description.patchLevel.vendor.vendorVersion.vendorName.vendorCodeName 2.CPU信息,包括:基本信息(vendor.model.mh

Java中Date各种相关用法

Java中Date各种相关用法(一) 1.计算某一月份的最大天数 Java代码 Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0 int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数 注:在使用set方法之前,必须

你真的了解JAVA中与Webservice相关的规范和实现吗?

非常多人在项目中使用Webservice,仅仅是知道怎样公布Webservice,怎样调用Webservice,但真要论其来龙去脉,还真不一定清楚. 一切一切还要从我们伟大的sun公司规范说起. JAVA 中共同拥有三种WebService 规范,各自是JAXM&SAAJ.JAX-WS(JAX-RPC).JAX-RS. 以下来分别简要的介绍一下这三个规范.针对JDK 1.6以下版本号,新的还没研究过 (1.)JAX-WS: JAX-WS(Java API For XML-WebService),

Java中SMB的相关应用

目录 SMB 服务操作 Ⅰ SMB简介 Ⅱ SMB配置 2.1 Windows SMB Ⅲ 添加SMB依赖 Ⅳ 路径格式 Ⅴ 操作共享 Ⅵ 登录验证 SMB 服务操作 Ⅰ SMB简介 ? SMB(全称是Server Message Block)是一个协议名,它能被用于Web连接和客户端与服务器之间的信息沟通.SMB协议作为一种局域网文件共享传输协议,常被用来作为共享文件安全传输研究的平台. ? Windows操作系统都包括了客户机和服务器 SMB协议支持.Microsoft 为 Internet

[转]java中的字符串相关知识整理

字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果写过C/C++的应该就了解,在字符串的操作上会有许多操作的函数与类,用于简化代码的开发.一方面是因为字符串在代码中会频繁用到,另一方面是因为字符串的操作非常麻烦. 最初我知道String的特殊待遇就是在delphi中,因为String在delphi里是一个关键字存在,与其他的基本类型是不一样的.那时

NGUI中显示DrawCall详细信息

[NGUI显示DrawCall详细信息] UIDrawCall中有个宏,SHOW_HIDDEN_OBJECTS,默认为关闭状态.将此宏打开,NGUI即会将DrawCall对象显示在Hierarchy中.如下: 对象的命名规则如下:

Android 定义全局LOG打印日志,并显示调用者相关信息

public class LogUtils { private static final boolean VERBOSE = true; private static final boolean DEBUG = true; private static final boolean INFO = true; private static final boolean WARN = true; private static final boolean ERROR = true; private sta

在linux中查询硬件相关信息

1.查询cpu的相关 a.查询CPU的统计信息 使用命令:lscpu 得到的结果如下: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 12 On-line CPU(s) list: 0-11 Thread(s) per core: 1 Core(s) per socket: 6 Socket(s): 2 NUMA node(s): 2 Vendor ID: Genuine

java中数组的相关知识

1. 2.数组的命名方法 1)int[]ages=new int[5]; 2) int[]ages; ages=new int[5]; 3.java不支持不同类型的重名数组 4.java中数组的循环赋值 1 package dierge; 2 3 public class Shuzu { 4 5 public static void main(String args[]){ 6 int[]ags=new int[5]; 7 int i; 8 for(i=0;i<ags.length;i++){