随笔 - 119  文章 - 3173  trackbacks - 0
<2007年1月>
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

交友莫独酒,茅台西凤游。
口干古井贡,心徜洋河流。
称多情杜康,趟无量双沟。
赞中华巍巍,无此不销愁。

常用链接

留言簿(68)

随笔分类(136)

随笔档案(122)

最新随笔

搜索

  •  

积分与排名

  • 积分 - 522174
  • 排名 - 94

最新评论

 1 import java.io.File;
 2 
 3 public class SpaceChecker {
 4     public static void main(String[] args) {
 5         File[] roots = File.listRoots();
 6         for (File _file : roots) {
 7             System.out.println(_file.getPath());
 8             System.out.println(_file.getName());
 9             System.out.println("Free space = " + _file.getFreeSpace());
10             System.out.println("Usable space = " + _file.getUsableSpace());
11             System.out.println("Total space = " + _file.getTotalSpace());
12             System.out.println();
13         }
14         
15         
16         File win = new File("C:\\WINDOWS");
17         System.out.println(win.getPath());
18         System.out.println(win.getName());
19         System.out.println("Free space = " + win.getFreeSpace());
20         System.out.println("Usable space = " + win.getUsableSpace());
21         System.out.println("Total space = " + win.getTotalSpace());
22         System.out.println();
23     }
24 }
以上代码也是会输出各个根目录的空闲空间,已用空间,总空间等.

注意:
1 getName取不到分区的卷标.能取到文件夹的名称.
2对文件夹显示的空闲空间等,是所在分区的信息.
3对于有磁盘配额的分区,空闲分区大小不一定等于总大小-已用大小.


疑问:
我把ECLIPSE的JDK一致性降到5.0,以上代码还是能跑.
降到1.4也只是提示不支持for each.
为什么?

posted on 2007-01-03 09:40 交口称赞 阅读(890) 评论(2)  编辑  收藏 所属分类: Java6

FeedBack:
# re: 学习Java6(三) 磁盘空间统计[未登录] 2009-01-14 14:43 ming
Free space =17159213056
Usable space =17159213056
Total spacs =112721743872

我反复测试过多个硬盘,

free space 总是和 usable space 的值一致,么有办法了,……
(我检查过,代码里没有接错方法)  回复  更多评论
  
# re: 学习Java6(三) 磁盘空间统计[未登录] 2009-01-14 15:20 ming
呵呵,看到了

jdk 1.6 api 里的

“在此信息不可用的系统上,此方法等效于调用 getFreeSpace()。 ”

ps:我的 suse linux 系统  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: