社区
Java SE
帖子详情
JAVA 中怎样得到整个磁盘空间大小以及剩余空间大小
98wanglei
2006-08-22 04:14:18
JAVA 中怎样得到整个磁盘空间大小以及剩余空间大小
...全文
634
8
打赏
收藏
JAVA 中怎样得到整个磁盘空间大小以及剩余空间大小
JAVA 中怎样得到整个磁盘空间大小以及剩余空间大小
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
emin_lee
2006-08-23
打赏
举报
回复
mark!
zhaohe1979
2006-08-23
打赏
举报
回复
给你个我写的本地代码
#include <jni.h>
#include "com_travelsky_fgos_client_platform_utils_LocDiskMemVol.h"
#include <windows.h>
/*
* Class: com_travelsky_fgos_client_platform_utils_LocDiskMemVol
* Method: getDiskInfoByName
* Signature: (Ljava/lang/String;)[J
*/
JNIEXPORT jlongArray JNICALL Java_com_travelsky_fgos_client_platform_utils_LocDiskMemVol_getDiskInfoByName
(JNIEnv * env, jclass cls, jstring dn)
{
BOOL success;
const char * diskName;
unsigned long sectorsPerCluster, bytesPerSector, freeClusters, clusters;
diskName = env->GetStringUTFChars(dn, 0);
success = GetDiskFreeSpace(diskName, §orsPerCluster, &bytesPerSector, &freeClusters, &clusters);
env->ReleaseStringUTFChars(dn, diskName);
jlongArray jla = env->NewLongArray(4);
jlong jl1 = bytesPerSector;
jlong jl2 = sectorsPerCluster;
jlong jl3 = freeClusters;
jlong jl4 = clusters;
if(success)
{
env->SetLongArrayRegion(jla, 0, 1, &jl1);
env->SetLongArrayRegion(jla, 1, 1, &jl2);
env->SetLongArrayRegion(jla, 2, 1, &jl3);
env->SetLongArrayRegion(jla, 3, 1, &jl4);
}
return jla;
}
/*
* Class: com_travelsky_fgos_client_platform_utils_LocDiskMemVol
* Method: getMemInfo
* Signature: ()[J
*/
JNIEXPORT jlongArray JNICALL Java_com_travelsky_fgos_client_platform_utils_LocDiskMemVol_getMemInfo
(JNIEnv * env, jclass cls)
{
MEMORYSTATUS stat;
GlobalMemoryStatus (&stat);
long memtemp[2];
jlongArray jla = env->NewLongArray(4);
jlong jl1 = stat.dwTotalPhys;
jlong jl2 = stat.dwAvailPhys;
env->SetLongArrayRegion(jla, 0, 1, &jl1);
env->SetLongArrayRegion(jla, 1, 1, &jl2);
return jla;
}
bigc2000
2006-08-22
打赏
举报
回复
1.6都出来了?!
windows api 可以GetDiskFreeSpace()得到具体哪个盘符的可用空间。非windows就不知道了
反正jni肯定需要的
RobertHooke
2006-08-22
打赏
举报
回复
Sigar这个包不错,用用吧,什么信息都能得到
千里冰封820
2006-08-22
打赏
举报
回复
用的是1.4的话,就不可能从SUN的API里面得到了
你只要用C/C++写一个DLL文件供JAVA调用
但是,这样的话,就失去了JAVA跨平台的特性了
zhmt
2006-08-22
打赏
举报
回复
jf
98wanglei
2006-08-22
打赏
举报
回复
谢谢楼上的
用的JDK1.4
用jni具体怎么本地调用
是磁盘空间 不是内存空间
千里冰封820
2006-08-22
打赏
举报
回复
如果你用的是JDK1.6的话,那就很容易了
File.getFreeSpace()
getUsableSpace()等很多方法可以让你用的
如果你用的是1.5或者以下的话,就只有依靠JNI本地调用来得到空间了
一般用Runtime只能得到JVM的空间大小
freeMemory()
返回 Java 虚拟机中的空闲内存量。
maxMemory()
返回 Java 虚拟机试图使用的最大内存量。
totalMemory()
返回 Java 虚拟机中的内存总量。
java
获取磁盘名称、磁盘
大小
、磁盘
剩余
空间
java
获取磁盘名称、磁盘
大小
、磁盘
剩余
空间
用
java
查看磁盘
大小
使用File类的getTotalSpace()、getFreeSpace()、getUsableSpace()方法可以分别查看磁盘总
大小
、磁盘
剩余
空间
、磁盘已使用
空间
电脑硬盘内存管理
电脑硬盘管理器:分析文件夹
大小
,统计子文件和子文件夹数量; 清晰直观的看见文件夹占用内存
大小
; 查看当前分区
大小
,
剩余
空间
大小
,已知文件占用
大小
,知道未知文件使用了多少
空间
; 查看文件夹,更直观,更清晰。 分析文件夹,清晰的了解文件夹生产了多少垃圾,占用多少内存; 查找大文件;根据文件夹内存
大小
快速过滤。 清晰了解自己的硬盘,了解自己的电脑,避免垃圾的生成 硬盘分析助手1.2
LF-Spy(
Java
服务器探针)
LF-Spy是一个基于单独jsp页面的
Java
服务器探针,使用它您可以方便的获得您所处
Java
服务器的系统信息,是您了解您所在
空间
真实情况的重要工具。LF-Spy能够自动测试目标
Java
服务器的网络连接速度、MAC地址、服务器硬盘
剩余
空间
、服务器运算能力、服务器的内存资源损耗、cpu占用率、硬盘
大小
、页面执行时间等参数。并提供服务器基本信息,服务器组件支持情况,及从request、response、application、session、cookies
中
截获参数等辅助功能。
oshi-dist-4.2.1.zip
java
读取硬件信息的类库,支持读取以下信息: ·计算机系统和固件,主板信息 ·操作系统和版本/内部版本 ·物理(核心)和逻辑(超线程)CPU数 ·系统和每个处理器的负载百分比和滴答计数器 ·CPU正常运行时间,进程和线程 ·进程正常运行时间,CPU,内存使用率 ·已使用/可用的物理和虚拟内存 ·挂载的文件系统(类型,可用
空间
和总
空间
) ·磁盘驱动器(型号,序列号,
大小
)和分区 ·网络接口(IP,带宽输入/输出) ·电池状态(电量百分比,
剩余
时间) ·连接的显示器(带有EDID信息) ·USB设备 ·传感器(温度,风扇速度,电压)
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章