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使用率