【问题标题】:How to check free disk space before file creation [duplicate]如何在文件创建之前检查可用磁盘空间[重复]
【发布时间】:2015-07-31 08:15:06
【问题描述】:

假设我需要创建一个文件,在此之前我需要检查该操作的可用磁盘空间大小。

当没有足够的可用空间时,也许java.io.File.createNewFile() 会抛出IOException

最好的方法是什么?

【问题讨论】:

  • 请注意,在操作之前检查磁盘空间并不能保证在操作完成时有足够的磁盘空间(并且检查时没有足够的空间并不能保证在操作时没有足够的空间)完毕)。另一方面,如果操作在没有空间不足错误的情况下完成,则可以保证磁盘空间足够。

标签: java io


【解决方案1】:

在 Java 1.6 中

  • public long getTotalSpace()
  • public long getFreeSpace()

查看document

在 Java 1.7 中

  • getTotalSpace()
  • getUnallocatedSpace()
  • getUsableSpace()

检查这个document

在 Java 8 中

  • getFreeSpace()
  • getUsableSpace()

检查这个document

如果您需要代码方面的帮助,请查看Example

编辑:我在搜索您的问题时遇到了这个有趣的错误。 请看看这个。PrintWriter does not throw IOException for full floppy disk

【讨论】:

    【解决方案2】:

    您可以使用它来检查可用空间。

    http://docs.oracle.com/javase/6/docs/api/java/io/File.html#getFreeSpace%28%29

    但是处理异常并不是一个坏主意,在大多数情况下我假设你的磁盘上的可用空间是可以的

    【讨论】:

      【解决方案3】:

      简单来说,你可以像这样检查。

         long freeSpace = new File("d:/").getFreeSpace(); //Here I am checking my d drive free space. 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-27
        • 1970-01-01
        • 2018-06-18
        • 2013-02-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多