如何使用Java查找剩余多少磁盘空间?
答案 0 :(得分:84)
只需查看文件类documentation即可。这是1.6中的新功能之一。
这些新方法还包括:
public long getTotalSpace()
public long getFreeSpace()
public long getUsableSpace()
如果您仍在使用1.5,那么您可以使用Apache Commons IO库及其FileSystem class
答案 1 :(得分:54)
Java 1.7的API略有不同,可以通过FileStore,getTotalSpace()和getUnallocatedSpace()方法通过getUsableSpace()类查询可用空间。
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的优点是,在查询磁盘空间失败时,您会收到有意义的异常。
答案 2 :(得分:18)
使用CommonsIO和FilesystemUtils:
e.g。
FileSystemUtils.freeSpaceKb("/");
或内置于JDK中:
http://java.sun.com/javase/6/docs/api/java/io/File.html#getFreeSpace()
new File("/").getFreeSpace();
答案 3 :(得分:6)
如果您是Java程序员,您可以 已经被问过这么简单, 愚蠢的问题:“如何找到 我系统上剩余的可用磁盘空间?“ 问题是答案是 系统依赖。实际上,它是 实施即系统 依赖。直到最近, 没有独特的解决方案可以回答 这个问题,虽然有必要 已登录Sun的Bug数据库 自1997年6月以来。现在有可能 获取Java 6中的可用磁盘空间 类File中的一个方法,其中 返回未分配的数量 由...命名的分区中的字节 抽象路径名称。但你可能会 对可用磁盘空间感兴趣 (可写的那个)。它是均匀的 可以获得总磁盘空间 使用该方法的分区 getTotalSpace()。
答案 4 :(得分:3)
在使用java检查磁盘空间时,您在java.io文件类
中有以下方法肯定会帮助您获取所需信息。例如,您可以参考http://javatutorialhq.com/java/example-source-code/io/file/check-disk-space-java/,其中给出了使用这些方法的具体示例。
答案 5 :(得分:-4)
public class MemoryStatus{
public static void main(String args[])throws Exception{
Runtime r=Runtime.getRuntime();
System.out.println("Total Memory: "+r.totalMemory());
System.out.println("Free Memory: "+r.freeMemory());
}
}
尝试使用此代码获取磁盘空间