知识大全 如何用Java得到硬盘空间

Posted

篇首语:人间有三愿,一愿识尽世间好人,二愿读尽世间好书,三愿看尽世间好风光。人间最美四月天,祝你三愿皆有所获。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 如何用Java得到硬盘空间相关的知识,希望对你有一定的参考价值。

如何用Java得到硬盘空间  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   一般来讲 要用java得到硬盘空间 有 种方法:   调用system的mand 然后分析得到的结果 这种方法有很强的系统依赖性 linux下和win下要分别写程序  下面是一个win下的例子 编译成功之后 运行java Diskspace yourdir(比如c:\\)  import java io BufferedReader;  import java io InputStreamReader;    /**  * Determine free disk space for a given directory by  * parsing the output of the dir mand   * This class is inspired by the code at  * Works only under Windows under certain circumstances   * Yes it s that shaky   * Requires Java or higher   * @[EMAIL PROTECTED]  *Marco Schmidt  */  public class Diskspace    private Diskspace()    // prevent instantiation of this class      /**  * Return available free disk space for a directory   * @[EMAIL PROTECTED]  dirName name of the directory  * @[EMAIL PROTECTED]  free disk space in bytes or if unknown  */  public static long getFreeDiskSpace(String dirName)    try    // guess correct dir mand by looking at the  // operating system name  String os = System getProperty( os name );  String mand;  if (os equals( Windows NT ) ||  os equals( Windows ))    mand = cmd exe /c dir + dirName;    else    mand = /c dir + dirName;    // run the dir mand on the argument directory name  Runtime runtime = Runtime getRuntime();  Process process = null;  process = runtime exec(mand);  if (process == null)    return ;    // read the output of the dir mand  // only the last line is of interest  BufferedReader in = new BufferedReader(  new InputStreamReader(process getInputStream()));  String line;  String freeSpace = null;  while ((line = in readLine()) != null)    freeSpace = line;    if (freeSpace == null)    return ;    process destroy();  // remove dots & mas & leading and trailing whitespace  freeSpace = freeSpace trim();  freeSpace = freeSpace replaceAll( \\\\ );  freeSpace = freeSpace replaceAll( );  String[] items = freeSpace split( );  // the first valid numeric value in items after(!) index   // is probably the free disk space  int index = ;  while (index < items.length)    try    long bytes = Long.parseLong(items[index++]);  return bytes;    catch (NumberFormatException nfe)        return -1;    catch (Exception exception)    return -1;        /**  * Command line program to print the free diskspace to stdout  * for all 26 potential root directories A:\\ to Z:* (when no parameters are given to this program)  * or for those directories (drives) specified as parameters.  * @[EMAIL PROTECTED]  args program parameters  */  public static void main(String[] args)    if (args.length == 0)    for (char c = \'A\'; c <= \'Z\'; c++)    String dirName = c + ":\\\\";  System.out.println(dirName + " " +  getFreeDiskSpace(dirName));      else    for (int i = 0; i < args.length; i++)    System.out.println(args[i] + " " +  getFreeDiskSpace(args[i]));             方法二:使用Jconfig,可以跨平台  从上下载jconfig.  下载的包的sample里有很简单的例子,如果是要得到磁盘空间的话:  用FileRegistry.getVolumes()得到DiskVolume  然后call getFreeSpace()和getMaxCapacity()  就是这么简单..:)     方法三:jni   这个是解决所有和os相关的操作的万能利器了.  例子我也懒得写了.  写一个dll然后call之即可.   cha138/Article/program/Java/Javascript/201311/25405

相关参考

知识大全 如何限制用户目录和硬盘使用空间

  限制用户目录使用空间  修改/etc/vfstab把需要限制的文件系统的mountoptions改为rq    到文件系统的顶执行命令touchquotas和chmodquotas    quot

知识大全 java获得当前系统内存及硬盘使用情况

  啥也不说了直接看代码  importjavalangmanagementManagementFactory;  importsunmanagementOperatingSystemMXBean; 

知识大全 我买个新的硬盘,怎样可以用同一部电脑将旧硬盘的数据传到新的硬盘里?

我买个新的硬盘,怎样可以用同一部电脑将旧硬盘的数据传到新的硬盘里?如果你有光驱的话拆开机箱把光驱的电源数据线拔下换到新硬盘上,新硬盘设置为从盘SLAVE跳线设置说明书上或硬盘标签应该有(机箱无电情况下

知识大全 我电脑用了两年半了,换了一次硬盘,在可以换硬盘的情况下,电脑还可以用几年

我电脑用了两年半了,换了一次硬盘,在可以换硬盘的情况下,电脑还可以用几年这种问题难易给出准确答案,根据经验来讲,机械硬盘正常使用+有良好使用习惯的话10年寿命没任何问题,我2005年购买的希捷40GI

知识大全 网络硬盘之文件夹实现

   在介绍网络硬盘概念时已经提到每个用户在网络硬盘上都有自己的一块空间在下面程序设计中是这样处理的为用户提供一个固定的文件夹在这个文件夹下用户可以自己增加/删除新的文件

知识大全 再有一次装系统时发现硬盘不见了 用硬盘分区工具可以看到硬盘 但装系统的时候找不到硬盘 只有一个2G的U盘

再有一次装系统时发现硬盘不见了用硬盘分区工具可以看到硬盘但装系统的时候找不到硬盘只有一个2G的U盘  以下文字资料是由(本站网www.cha138.com)小编为大家搜集

知识大全 电脑上有硬盘提示没硬盘不能开机,用u盘进入系统没看到硬盘,是坏了吗。还是BIOS设置不对

电脑上有硬盘提示没硬盘不能开机,用u盘进入系统没看到硬盘,是坏了吗。还是BIOS设置不对?  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发

知识大全 想给戴尔笔记本电脑安装一个固态硬盘,学设计的学生,推荐用什么牌子的固态硬盘

想给戴尔笔记本电脑安装一个固态硬盘,学设计的学生,推荐用什么牌子的固态硬盘用笔记本做设计,首选苹果。如果不用笔记本请选择图形工作站。一般他们都用磁盘阵列而不使用固态硬盘。怎么在戴尔笔记本电脑中安装固态

知识大全 win7硬盘启动失败,但是用usb启动盘的从硬盘启动则成功

win7硬盘启动失败,但是用usb启动盘的从硬盘启动则成功重建硬盘mbr即可解决问题移动硬盘启动盘首先将三个分区中的其中一个设成活动分区,步骤:1.桌面我的电脑管理->2.磁盘管理->3.

知识大全 硬盘分区格式化后 用u盘装系统 不显示硬盘容量 我的电脑里也没有硬盘容量信息 甚么原因呢

硬盘分区格式化后用u盘装系统不显示硬盘容量我的电脑里也没有硬盘容量信息甚么原因呢?进WIN7PE不要进2003或者XPPE你用的是AHCI模式2003和XPPE不认AHCI的硬盘分区格式化后系统不能从