如何使用Java获取Ram的大小和硬盘大小?

时间:2011-04-01 10:54:27

标签: java

如何使用Java获取PC的Ram大小和硬盘大小?是否可以通过java在PC上获取当前登录的用户名?

4 个答案:

答案 0 :(得分:26)

磁盘大小:

long diskSize = new File("/").getTotalSpace();

用户名:

String userName = System.getProperty("user.name");

我不知道用Java确定总系统内存的可靠方法。在Unix系统上,您可以解析/proc/meminfo。您当然可以找到JVM可用的最大内存:

long maxMemory = Runtime.getRuntime().maxMemory();

编辑以获得完整性(感谢Suresh S),这是一种仅使用Oracle JVM获取总内存的方法:

long memorySize = ((com.sun.management.OperatingSystemMXBean) ManagementFactory
        .getOperatingSystemMXBean()).getTotalPhysicalMemorySize();

答案 1 :(得分:7)

对于Ram Size,如果您使用 java 1.5

java.lang.management包

com.sun.management.OperatingSystemMXBean mxbean = (com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
System.out.println(mxbean.getTotalPhysicalMemorySize() + " Bytes "); 

答案 2 :(得分:4)

import java.lang.management.*;
import java.io.*;

class max
{
    public static void main(String... a)
    {
        long diskSize = new File("/").getTotalSpace();
        String userName = System.getProperty("user.name");
        long maxMemory = Runtime.getRuntime().maxMemory();
        long memorySize = ((com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean()).getTotalPhysicalMemorySize();
        System.out.println("Size of C:="+diskSize+" Bytes");
        System.out.println("User Name="+userName);

        System.out.println("RAM Size="+memorySize+" Bytes");
   }
}

答案 3 :(得分:3)

查看 this topic ,详细了解如何获取此类操作系统信息。