win2000和XP下得到硬盘剩余空间(用java调用windows命令)

来源:互联网 发布:php伪造referer跳转 编辑:程序博客网 时间:2024/05/21 07:54
 

package tigers;

import java.io.*;


public class Tiger19 {

 public static void main(String[] args) {
  try {
   for (char c = 'A'; c <= 'Z'; c++ ) {
    String dirName = c + "://";
    long freeSpace = getFreeDiskSpace(dirName);
    if (freeSpace != -1) {
     long number = Math.round(freeSpace / (1024.00 * 1024.00));
     System.out.println("<+>>>>" + dirName + " 剩余空间为: " + number + "MB");
    }
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
 private static long getFreeDiskSpace(String dirName) throws Exception {
  String osName = System.getProperty("os.name");
  if (!(osName.equalsIgnoreCase("windows XP") || osName.equalsIgnoreCase("windows 2000"))) return -1;
  String command = "cmd exe /c dir " + dirName; //操作系统命令
  Process process = Runtime.getRuntime().exec(command); //执行操作系统命令。
  if (process == null) return -1;
  BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
  String line = "";
  String lastLine = "";
  while ((line = br.readLine()) != null) { //依次一行行读取,但while循环的目的只是得到最后一行字符。
   System.out.println(line);
   lastLine = line;
  }
  lastLine = lastLine.replaceAll(",", ""); //去掉如2,146,623,488中间的逗号。
  String[] items = lastLine.split(" ");
  long freeSpace = -1;
  for (int i = (items.length - 1); i > 0; i--) { //从最后一个字符串开始遍历。
   try {
    freeSpace = Long.parseLong(items[i]);
    break; //如果找到目的数据就跳出循环。
   } catch (NumberFormatException nfe) {
    continue; //跳过不是数字的字符。
   }
  }
  return freeSpace;
 }
}

结果:

 

 驱动器 C 中的卷没有标签。
 卷的序列号是 D44F-E6C7

 C:/ 的目录

2004-10-26  17:56                 0 AUTOEXEC.BAT
2004-10-26  17:56                 0 CONFIG.SYS
2004-10-26  18:04    <DIR>          Documents and Settings
2005-02-02  13:45    <DIR>          Inetpub
2004-10-26  18:51    <DIR>          mysql
2004-10-26  18:42    <DIR>          NVIDIA
2005-02-07  17:10    <DIR>          Program Files
2005-02-02  14:54    <DIR>          WINDOWS
               2 个文件              0 字节
               6 个目录  4,155,437,056 可用字节
<+>>>>C:/ 剩余空间为: 3963MB
 驱动器 D 中的卷没有标签。
 卷的序列号是 4CC9-C042

 D:/ 的目录

2005-01-18  18:09    <DIR>          2002周杰伦The_One台北演唱会
2005-01-18  18:08    <DIR>          2004孙燕姿长沙演唱会
2005-01-24  15:41    <DIR>          Program Files
2005-01-19  18:38    <DIR>          [百看综艺]孙燕姿2004年轻无极限北京演唱会by 100kanVIP
2005-01-08  11:31    <DIR>          上古卷轴3晨风
               0 个文件              0 字节
               5 个目录  2,146,623,488 可用字节
<+>>>>D:/ 剩余空间为: 2047MB
 驱动器 E 中的卷是 ENGLISH
 卷的序列号是 82FD-06B2

 E:/ 的目录

2004-10-27  12:12    <DIR>          Friends老友记(六人行)第一季
2004-10-27  12:17    <DIR>          campaign2004
2004-10-27  12:18    <DIR>          lifewords
2004-10-27  12:18    <DIR>          语音神II
2002-09-17  09:23           133,415 古希腊神话.chm
2004-10-27  13:12    <DIR>          audio
2004-10-29  12:46    <DIR>          保镖
2004-10-30  09:18    <DIR>          西雅图不眠夜
2004-11-03  05:37       506,143,755 雨人-沪江影视英语学习素材-本素材仅供学习交流与收藏之用.rmvb
2004-11-08  18:04           551,582 wyabdc.zip
2001-10-04  22:03    <DIR>          WORD_5000
2004-11-09  09:15             1,728 readme2.txt
2004-11-09  09:15               132 下载必读.txt
2004-11-10  11:53    <DIR>          air
2004-11-10  11:53    <DIR>          ZERO_8ISO
2004-11-25  17:08    <DIR>          english
               5 个文件    506,830,612 字节
              11 个目录  1,382,211,584 可用字节
<+>>>>E:/ 剩余空间为: 1318MB
 驱动器 F 中的卷是 DOWNLOAD
 卷的序列号是 092E-C538

 F:/ 的目录

2004-09-03  16:21    <DIR>          linux
2004-08-20  13:57    <DIR>          downloads
2004-08-20  14:09    <DIR>          金山毒霸
2004-08-20  14:18    <DIR>          fedora
2004-08-20  15:27    <DIR>          cpq6c
2004-08-21  17:46    <DIR>          bitan-website
               0 个文件              0 字节
               6 个目录    711,237,632 可用字节
<+>>>>F:/ 剩余空间为: 678MB
 驱动器 G 中的卷是 BITAN
 卷的序列号是 4A54-A685

 G:/ 的目录

2004-10-26  20:35    <DIR>          kinddiary_save
2005-02-07  13:11    <DIR>          workspace
2005-02-07  22:57    <DIR>          test
2004-08-22  13:49    <DIR>          bitan
2004-08-26  20:16    <DIR>          java
2004-08-27  13:50    <DIR>          eye-lib
2004-08-30  23:40    <DIR>          www_eleaf_org
2004-09-17  19:52    <DIR>          EDiary2.53
               0 个文件              0 字节
               8 个目录  3,166,339,072 可用字节
<+>>>>G:/ 剩余空间为: 3020MB
 驱动器 H 中的卷是 MEDIA
 卷的序列号是 8B7A-8A9A

 H:/ 的目录

2004-12-23  03:16       212,302,277 文明古国-埃及.rmvb
2005-01-26  19:06    <DIR>          MTV
2004-12-28  22:19    <DIR>          天下无贼
2004-08-24  23:44    <DIR>          movies
2004-10-27  11:16    <DIR>          music
2004-11-11  19:03    <DIR>          workspace
               1 个文件    212,302,277 字节
               5 个目录  1,545,773,056 可用字节
<+>>>>H:/ 剩余空间为: 1474MB
 驱动器 I 中的卷是 ANGEL
 卷的序列号是 CCA0-7211

 I:/ 的目录

2004-11-12  20:40    <DIR>          Program Files
2004-10-31  21:01    <DIR>          book
2004-12-24  18:54    <DIR>          movies
2004-10-02  01:31         1,134,237 创造曲,D小调.mp3
2005-01-22  14:28            48,206 U970P8T1D129269F913DT20041221112837.jpg
2004-08-22  20:12    <DIR>          music
2004-08-22  20:13    <DIR>          pictrue
2004-08-22  20:13    <DIR>          downloads
2005-01-22  14:28            51,172 U970P8T1D129270F913DT20041221112840.jpg
2005-01-22  14:28            50,043 U970P8T1D129271F913DT20041221112843.jpg
2004-08-27  18:24    <DIR>          papa
2004-09-21  19:18    <DIR>          wendang
2004-10-10  11:57    <DIR>          english
               4 个文件      1,283,658 字节
               9 个目录  2,524,266,496 可用字节
<+>>>>I:/ 剩余空间为: 2407MB
 驱动器 J 中的卷是 SAVE
 卷的序列号是 B879-DD51

 J:/ 的目录

2004-10-26  18:10    <DIR>          ghost-save
2004-09-19  16:29    <DIR>          bitan
2004-10-30  10:37    <DIR>          走遍美国视频
2004-09-29  19:35    <DIR>          linux
2005-01-27  15:55    <DIR>          ghost
2005-01-31  17:51    <DIR>          3D动画
2005-01-31  17:54    <DIR>          与地球同行
2005-01-31  17:58    <DIR>          与野兽同行
               0 个文件              0 字节
               8 个目录  3,276,644,352 可用字节
<+>>>>J:/ 剩余空间为: 3125MB
 驱动器 K 中的卷是 JAVAWORK
 卷的序列号是 05FA-1A24

 K:/ 的目录

2004-09-16  12:02    <DIR>          eclipse3.0
2004-12-24  18:59    <DIR>          papa
2004-11-29  19:26    <DIR>          MyEclipse
2003-08-12  14:08    <DIR>          ant
2004-11-14  01:05    <DIR>          TogetherEC
2004-10-26  18:22    <DIR>          j2se
2004-11-25  15:27    <DIR>          Program Files
2004-12-12  16:33    <DIR>          webServices
2004-09-20  04:40    <DIR>          jboss
2005-02-01  09:35    <DIR>          sqlserver
2004-12-16  20:24    <DIR>          eclipse
2004-12-09  19:57    <DIR>          jdonsrc
2004-12-12  20:39    <DIR>          Apache2
2004-06-17  21:09    <DIR>          tomcat5
2004-12-31  12:19    <DIR>          tiger
2005-01-30  19:07    <DIR>          hibernate
2005-02-02  13:21    <DIR>          Merak
2005-02-01  11:54    <DIR>          test25
2004-10-29  15:14    <DIR>          tomcat
2004-10-26  20:38    <DIR>          kinddiary_save
2004-10-27  09:33    <DIR>          workspace
2004-10-27  13:35    <DIR>          WEB-SRC
2004-10-30  09:20    <DIR>          books
               0 个文件              0 字节
              23 个目录    320,792,576 可用字节
<+>>>>K:/ 剩余空间为: 306MB
 驱动器 L 中的卷是 BACKUP
 卷的序列号是 4778-A427

 L:/ 的目录

2004-12-12  17:19    <DIR>          oracle
               0 个文件              0 字节
               1 个目录  2,883,919,872 可用字节
<+>>>>L:/ 剩余空间为: 2750MB

原创粉丝点击