Java不依赖插件获取系统信息

import java.io.File;
import java.lang.management.ManagementFactory;
import java.util.Properties;
import com.sun.management.OperatingSystemMXBean;

/**
 * @author zhangkun
 * @description 
 * @CreateTime 2015 2015年8月18日 上午10:26:18
 */
public class EMS {
    /**
     * @category 获取系统ROM
     * @return
     */
    public static String getDiskInfo() {  
        StringBuffer sb=new StringBuffer();  
        File[] roots = File.listRoots();// 获取磁盘分区列表  
        for (File file : roots) {  
             long totalSpace=file.getTotalSpace();  
            // long freeSpace=file.getFreeSpace();  
             long usableSpace=file.getUsableSpace();  
             if(totalSpace>0){  
                             sb.append(file.getPath() + "(总计:");  
                 sb.append(Math.round(((double)totalSpace/ (1024*1024*1024))*100/100.0) + "GB  ");  
                 if(Math.round((((double)usableSpace/ (1024*1024*1024))*100)/100.0)<=1){  
                     sb.append("剩余:" + Math.round((((double)usableSpace/ (1024*1024))*100)/100.0) + "MB)\n");  
                 }else{  
                     sb.append("剩余:" + Math.round((((double)usableSpace/ (1024*1024*1024))*100)/100.0) + "GB)\n");  
                 }  
              // sb.append("已使用" + Math.round((((double)(totalSpace-usableSpace)/(1024*1024*1024))*100)/100.0) + "G<br>");  
             }  
        }  
        return sb.toString();  
    }  
    
    
    /**
     * @category 获取系统RAM
     * @return
     */
    public static String getEMS() {  
        StringBuffer sb=new StringBuffer();  
        OperatingSystemMXBean osmb = (OperatingSystemMXBean) ManagementFactory  
                .getOperatingSystemMXBean();  
           sb.append("系统物理内存总计:" + osmb.getTotalPhysicalMemorySize()  
                / 1024 / 1024 + "MB\n");  
           sb.append("系统物理可用内存总计:" + osmb.getFreePhysicalMemorySize()  
                / 1024 / 1024 + "MB");  
        return sb.toString();  
    }
    
    public static void main(String[] args) {
        System.out.println(getEMS());
        System.out.println(getDiskInfo());
        Properties props=System.getProperties(); //获得系统属性集    
        String osName = props.getProperty("os.name"); //操作系统名称    
        String osArch = props.getProperty("os.arch"); //操作系统构架    
        String osVersion = props.getProperty("os.version"); //操作系统版本   
        System.out.println(osName);
        System.out.println(osArch);
        System.out.println(osVersion);
    }
    
}
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    用户的当前工作目录


你可能感兴趣的:(Java不依赖插件获取系统信息)