如何find剩下多less磁盘空间使用Java?
如何find剩下多less磁盘空间使用Java?
只要看看File类文档 。 这是1.6中的新function之一。
这些新方法还包括:
public long getTotalSpace()
-
public long getFreeSpace()
-
public long getUsableSpace()
如果你仍然使用1.5,那么你可以使用Apache Commons IO库和它的FileSystem类
Java 1.7有一个稍微不同的API,通过getTotalSpace() , getUnallocatedSpace()和getUsableSpace()方法可以通过FileStore类来查询可用空间。
NumberFormat nf = NumberFormat.getNumberInstance(); for (Path root : FileSystems.getDefault().getRootDirectories()) { System.out.print(root + ": "); try { FileStore store = Files.getFileStore(root); System.out.println("available=" + nf.format(store.getUsableSpace()) + ", total=" + nf.format(store.getTotalSpace())); } catch (IOException e) { System.out.println("error querying space: " + e.toString()); } }
这个API的优点是,当查询磁盘空间失败时,你会得到有意义的exception。
使用CommonsIO和FilesystemUtils:
例如
FileSystemUtils.freeSpaceKb("/");
或者内置到JDK中:
http://java.sun.com/javase/6/docs/api/java/io/File.html#getFreeSpace();
new File("/").getFreeSpace();
链接
如果你是一个Java程序员,你可能已经被问到这个简单,愚蠢的问题:“如何find剩余在我的系统上的可用磁盘空间?”。 问题是答案是依赖于系统的。 实际上,这是系统依赖的实现。 直到最近,还没有独特的解决scheme来回答这个问题,尽pipe自1997年6月以来Sun的Bug数据库中已经logging了这个需求。现在可以使用类File中的方法获得Java 6中的可用磁盘空间,它返回由抽象path名命名的分区中的未分配字节数。 但是,您可能对可用磁盘空间(可写的)感兴趣。 甚至可以用方法getTotalSpace()来获得分区的总磁盘空间。
在使用java检查磁盘空间时,在java.io File类中有以下方法
- getTotalSpace()
- getFreeSpace()
这一定会帮助你获得所需的信息。 例如,您可以参考http://javatutorialhq.com/java/example-source-code/io/file/check-disk-space-java/ ,其中给出了使用这些方法的具体示例。