import javaioFile;
/**
*
* jdk下的磁盤使用情況例子
*/
public class Diskfree {
public static void main(String[] args) {
File[] roots = FilelistRoots();//獲取磁盤分區列表
for (File file : roots) {
Systemoutprintln(filegetPath()+信息如下:);
Systemoutprintln(空閒未使用 = + filegetFreeSpace()///+G);//空閒空間
Systemoutprintln(已經使用 = + filegetUsableSpace()///+G);//可用空間
Systemoutprintln(總容量 = + filegetTotalSpace()///+G);//總空間
Systemoutprintln();
}
}
}
java獲得當前系統內存情況的代碼如下
Java code
import javalangmanagementManagementFactory;
import comsunmanagementOperatingSystemMXBean;
public class OSTest {
public static void main(String[] args)
{
OperatingSystemMXBean osmb = (OperatingSystemMXBean) ManagementFactorygetOperatingSystemMXBean();
Systemoutprintln(系統物理內存總計 + osmbgetTotalPhysicalMemorySize() / / + MB);
Systemoutprintln(系統物理可用內存總計 + osmbgetFreePhysicalMemorySize() / / + MB); }
}
ManagementFactorygetOperatingSystemMXBean()返回的是javalangmanagement裡面的OperatingSystemMXBean
我們要用的是comsunmanagementOperatingSystemMXBean;
在java類庫中可以查到
public abstract Interface comsunmanagementOperatingSystemMXBean extends javalangmanagementOperatingSystemMXBean
所以我們可以強制轉換一下
想得到磁盤使用情況的話可以看樓的例子要得到系統信息的話使用SystemgetProperty(String key);
方法
內存使用可以使用RuntimegetRuntime()getTotalMemory() RuntimegetRuntime()getFreeMemory()
純JAVA是不能同操作系統打交到得比如你要看CPU使用率一般就是使用JNI技術(一些簡單得系統熟悉可以通過SystemgetProperties()獲得)
JNI技術涉及到不同操作系統提供得API我只知道Windows下得API好像是NT開頭得一個函數用於查看系統信息包括CPU使用率
From:http://tw.wingwit.com/Article/program/Java/hx/201311/27126.html