如何使用Java查找剩余的磁盘空间?
如何使用Java查找剩余的磁盘空间?查看文件类。这是1.6中的新特性之一 这些新方法还包括:如何使用Java查找剩余的磁盘空间?,java,diskspace,Java,Diskspace,如何使用Java查找剩余的磁盘空间?查看文件类。这是1.6中的新特性之一 这些新方法还包括: public long getTotalSpace() public long getFreeSpace() public long getUsableSpace() 如果您仍在使用1.5,则可以使用库及其使用CommonsIO和文件系统: e、 g 或内置在JDK中: Java1.7有一个稍微不同的API,可以通过类、和方法查询可用空间 此API的优点是,当查询磁盘空间失败时,您可以返回有意
public long getTotalSpace()
public long getFreeSpace()
public long getUsableSpace()
如果您仍在使用1.5,则可以使用库及其使用CommonsIO和文件系统: e、 g 或内置在JDK中:
Java1.7有一个稍微不同的API,可以通过类、和方法查询可用空间
此API的优点是,当查询磁盘空间失败时,您可以返回有意义的异常。在使用java检查磁盘空间时,在java.io文件类中有以下方法
- getTotalSpace()
- getFreeSpace()
这肯定会帮助你获得所需的信息。例如,您可以参考哪个函数给出了使用这些方法的具体示例。是否有其他内置函数可用于此目的,而无需创建新文件?它不在磁盘上创建新文件,只创建一个文件对象,如果这正是您所担心的
filesystemtils
只需执行“df”命令即可(或在windows上使用DIR)。非常糟糕。欢迎使用Stack Overflow!请注意,此处不鼓励使用指向您自己网站/产品的裸链接,原因有两个:第一,答案应作为自包含的答案发布,而不仅仅是指向外部网站的链接。第二,此处不支持自我推广,并且通常被标记为垃圾邮件(特别是在没有披露您正在链接到自己的站点/产品的情况下)。请注意,非常重要的是getUsableSpace不等于getFreeSpace。例如,在Linux文件系统上,分区通常有许多保留块。这些块包含在getFreeSpace()返回的值中,但不包含在getUsableSpace()返回的值中。因此,如果您对必须在其中写入文件的空间大小感兴趣,请使用getUsableSpace-而不是getFreeSpace()。“看在上帝的份上,您正在使用”,而不是“您正在使用”。它的系统类。在Linux Debian上,FileSystems.getDefault().GetRootDirectory()调用仅返回“/”目录。@pako在unix/linux上只有一个根目录:/
。在windows上只有多个根目录,每个驱动器号对应一个根目录。
FileSystemUtils.freeSpaceKb("/");
new File("/").getFreeSpace();
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());
}
}