如何在创建文件之前检查可用磁盘 space

How to check free disk space before file creation

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

也许 java.io.File.createNewFile() 会在没有足够空闲 space 时抛出一个 IOException

最好的方法是什么?

您可以使用它来检查是否可用 space。

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

但是处理异常不是一个坏主意,在大多数情况下,我假设您在磁盘上的空闲 space 就可以了

In java 1.6

  • public 长 getTotalSpace()
  • public 长 getFreeSpace()

检查这个document

In java 1.7

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

勾选这个document

In java 8

  • getFreeSpace()
  • getUsableSpace()

勾选这个document

如果您需要一些代码方面的帮助,请检查此 Example

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

简单的你可以这样检查。

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