如何使用Java获取PC的Ram大小和硬盘大小?是否可以通过java在PC上获取当前登录的用户名?
答案 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 ,详细了解如何获取此类操作系统信息。