java 得到本机 D盘的大小

qianglemo 2011-08-12 02:38:46
得到本机D 盘的大小,及使用情况...
...全文
198 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenhua 2012-01-16
  • 打赏
  • 举报
回复
楼主不地道啊。人家都解决问题了。都没结贴。汗....
没事眯一会 2011-08-16
  • 打赏
  • 举报
回复
mark
iis81365341 2011-08-16
  • 打赏
  • 举报
回复
Java1.5及以前版本:windows操作系统中可以执行“dir d:\”命令可获取磁盘中的剩余空间。

驱动器 D 中的卷是 SYSDISK
卷的序列号是 C835-E234

d:\ 的目录

2010-08-04 00:25 <DIR> Tomcat 7.0.2
2011-07-29 08:37 <DIR> WINDOWS
6 个文件 890,423 字节
16 个目录 2,186,084,352 可用字节

其中最后一行“2,186,084,352 可用字节”即为剩余空间。可以使用流进行获取。至于磁盘大小就无法获取了。

如果有C或C++写的动态连接库可以使用JNI调用。如果有C或C++写的窗口程序,也可以直接使用Process然后再用流获取。
jianyou672 2011-08-16
  • 打赏
  • 举报
回复
开眼了。
weiyonghello 2011-08-16
  • 打赏
  • 举报
回复
上面的方法正解!
风尘中国 2011-08-13
  • 打赏
  • 举报
回复
如果在JDK6之前,针对某个具体操作系统,比如windows可以用java开启一个新的进程,执行操作系统的命令查看D盘相关的信息,用到的是Process和Runtime等这些对象,windows下可以用wmic或者简单的批处理命令,看你想要获得哪些具体D盘信息了,只是容量的话没必要大费周折
[Quote=引用 2 楼 bao110908 的回复:]

JDK 6 中 File 加了个 getTotalSpace 方法可以获得,JDK 6 以下版本没有办法。
[/Quote]
  • 打赏
  • 举报
回复
JDK 6 中 File 加了个 getTotalSpace 方法可以获得,JDK 6 以下版本没有办法。
铁匠梁 2011-08-13
  • 打赏
  • 举报
回复
JDK1.6方法

public static void DiskInfos() {
File[] roots = File.listRoots();// 获取分区信息
for (File file : roots) {
System.out.println(file.getPath() + "盘使用情况:");
System.out.print("已使用 = " + file.getUsableSpace() / 1024d / 1024d/ 1024d + "G, ");
System.out.print("还剩 = " + (file.getTotalSpace()-file.getUsableSpace()) / 1024d / 1024d /1024d+ "G, ");
System.out.println("总容量 = " + file.getTotalSpace() / 1024d / 1024d / 1024d + "G");
System.out.println();
}
}


运行结果:
C:\盘使用情况:
已使用 = 7.13995361328125G, 还剩 = 11.490081787109375G, 总容量 = 18.630035400390625G

D:\盘使用情况:
已使用 = 5.105224609375G, 还剩 = 41.45086669921875G, 总容量 = 46.55609130859375G

E:\盘使用情况:
已使用 = 4.6920061111450195G, 还剩 = 41.8984489440918G, 总容量 = 46.590455055236816G

F:\盘使用情况:
已使用 = 0.0G, 还剩 = 0.0G, 总容量 = 0.0G
F盘是光驱盘,所以是0
softroad 2011-08-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bao110908 的回复:]

JDK 6 中 File 加了个 getTotalSpace 方法可以获得,JDK 6 以下版本没有办法。
[/Quote]

学习了。。。
jingluo 2011-08-13
  • 打赏
  • 举报
回复
用shell调用windows的api之类

话说,你这需求似乎很少碰到啊
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ioe_gaoyong 的回复:]

如果在JDK6之前,针对某个具体操作系统,比如windows可以用java开启一个新的进程,执行操作系统的命令查看D盘相关的信息,用到的是Process和Runtime等这些对象,windows下可以用wmic或者简单的批处理命令,看你想要获得哪些具体D盘信息了,只是容量的话没必要大费周折
引用 2 楼 bao110908 的回复:

JDK 6 中 File 加了个 getTotalSp……
[/Quote]

需要你可以很方便地执行 Process 操作,但实际上这样的效率由于涉及进程间调用及数据交互,因此是极其低下的,在开发中原则是不应该使用的。
luohuijun619 2011-08-13
  • 打赏
  • 举报
回复
java中好像只可以获取文件的大小,
softroad 2011-08-12
  • 打赏
  • 举报
回复
貌似,没有直接的方法吧,期待高手
可以调用win api吧
【更新至2025年】2001-2025年上市公司数字化转型年报词频统计(吴非、赵宸宇、甄红线)(300+年报词频统计) 1、时间:2001-2025年 2、来源:上市公司年报 3、参考文献:企业数字化转型与资本市场表现——来自股票流动性的经验证据(吴非) 数字化转型如何影响企业全要素生产率(赵宸宇) 知识产权行政保护与企业数字化转型(甄红线) 4、方法说明:(1)参考吴非老师的做法,对人工智能技术、大数据技术、云计算技术、区块链技术、数字技术运用五个维度76个数字化相关词频进行统计 (2)参考赵宸宇老师的做法,对数字技术应用、互联网商业模式、智能制造、现代信息系统四个维度99个数字化相关词频进行统计 (3)参考甄红线老师的做法,对技术分类、组织赋能、数字化应用等类别下139个数字化相关词频进行统计 5、指标:年份、股票代码、公司简称、行业名称、行业代码、全文-文本总长度、仅中英文-文本总长度、人工智能技术-吴、大数据技术-吴、云计算技术-吴、区块链技术-吴、数字技术运用-吴、数字技术应用-赵、互联网商业模式-赵、智能制造-赵、现代信息系统-赵、技术分类-人工智能技术-甄、技术分类-区块链技术-甄、技术分类-云计算技术-甄、技术分类-大数据技术-甄、组织赋能-人工智能技术-甄、组织赋能-云计算技术-甄、组织赋能-大数据技术-甄、组织赋能-广义数字技术-甄、数字化应用-技术创新-甄、数字化应用-流程创新-甄、数字化应用-业务创新-甄、人工智能、商业智能、图像理解、投资决策辅助系统、智能数据分析、智能机器人、机器学习、深度学习、语义搜索、生物识别技术、人脸识别、语音识别、身份验证、自动驾驶、自然语言处理、大数据、数据挖掘、文本挖掘、数据可视化、异构数据、征信、增强现实、混合现实、虚拟现实、云计算、流计算、图计算、内存计算、多方安全计算、类脑计算、绿色计算、认知计算等300+词频

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧