Как получить размер и размер жесткого диска с использованием Java?

Как получить размер Ram и размер жесткого диска на ПК с помощью Java? И возможно ли получить имя пользователя, зарегистрированного на компьютере, через java?

Ответы

Ответ 1

Размер диска:

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

Имя пользователя:

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

Я не знаю надежного способа определить общую системную память на Java. В системе Unix вы можете разобрать /proc/meminfo. Разумеется, вы можете найти максимальную память для JVM:

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

Изменить: для полноты (спасибо Suresh S), здесь можно получить полную память только с JVM Oracle:

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

Ответ 2

Для размера рама, если вы используете java 1.5

пакет java.lang.management

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

Ответ 3

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");
   }
}

Ответ 4

Посмотрите этот раздел, в котором подробно описывается, как получить информацию о ОС, такую ​​как.