一般情况下,文件夹大小和文件夹占用空间是不一样的,如附件所示。
在java中,如果要求文件夹大小,可以通过逐个文件大小的累加而获得。
但是如果在java中要获取文件夹占用空间,有什么办法?
在java中如何获取文件夹占用空间的大小?(注意这里不是问文件夹大小)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- suziwen 2011-05-12 09:55关注
下面的代码 得JDK1.6以上的
[code="java"]double used = ((file.getTotalSpace() - file.getFreeSpace()) / 1024.0 / 1024 / 1024);
double total = file.getTotalSpace() / 1024.0 / 1024 / 1024;
double free = file.getFreeSpace() / 1024 / 1024 / 1024.0;
setUsedSpace(used > 1024?((int)((100*used)/1024))/100.0 +"T" : ((int)(100*used))/100.0 + "G");
setTotalSpace(total > 1024?((int)((100*total)/1024))/100.0 +"T" : ((int)(100*total))/100.0 + "G");
setFreeSpace(free > 1024?((int)((100*free)/1024))/100.0 +"T" : ((int)(100*free))/100.0 + "G");[/code]你也可以这样写通过JAVA调用操作系统命令行的API,去查看文件信息(只是你得去判断LINUX和WINDOW的命令行区别)
还有两个链接楼主也可以参考 下
[url]http://liangxh2008.blog.163.com/blog/static/11241167920105173330694/[/url]
[url]http://www.yesky.com/154/1778154.shtml[/url]
真不行的话,就估计只能按计算 公式 自己去占用空间大小 了,(只是你得去区分不同的分区,JAVA对于这种操作比较底层的数据估计还比较麻烦)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
- ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
- ¥15 perl MISA分析p3_in脚本出错
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误
- ¥199 rust编程架构设计的方案 有偿
- ¥15 回答4f系统的像差计算