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

本文介绍了一个Java程序,用于获取系统RAM和磁盘信息,包括系统物理内存大小、磁盘分区列表及其使用情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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    用户的当前工作目录


转载于:https://my.oschina.net/ssrs2202/blog/493850

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值