java - 如何使用java计算远程机器的磁盘空间?

标签 java jakarta-ee

任何人都可以建议我如何修改当前正在计算本地系统的可用磁盘空间(C:)的代码(Windows操作系统)来计算可用磁盘空间使用 java 的远程计算机(C:)(Windows 操作系统)?

import java.io.File;

public class DiskMemory
{
    public static void main(String[] args)
    {   
        File file = new File("C:");
        //total disk space in bytes.
        long totalSpace = file.getTotalSpace(); 
        //unallocated free disk space in bytes.
        long usableSpace = file.getUsableSpace(); 
        //unallocated free disk space available to current user.
        long freeSpace = file.getFreeSpace(); 



        System.out.println(" ==Total Memory Allocation == ");
        System.out.println("Total size : " + totalSpace + " bytes");
        System.out.println("Space free : " + usableSpace + " bytes");
        System.out.println("Space free : " + freeSpace + " bytes");

        System.out.println(" === mega bytes ===");
        System.out.println("Total size : " + totalSpace /1024 /1024 + " mb");
        System.out.println("Space free : " + usableSpace /1024 /1024 + " mb");
        System.out.println("Space free : " + freeSpace /1024 /1024 + " mb");
    }
}

最佳答案

在查看了 Apache 的 VFS 后,我发现获取磁盘空间使用情况过于复杂,而且它依赖于 jCIFS ( https://jcifs.samba.org/ ),这会比较省事。

SmbFile file = new SmbFile("smb://[user]:[pass]@[server]/[share]");
System.out.println(file.getDiskFreeSpace()); // Space free on share
System.out.println(file.length()); // Total space available on share

关于java - 如何使用java计算远程机器的磁盘空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23806272/

相关文章:

java - 使用 Delphi 将 JLong 转换为 Double 类型

java - 将多个类映射与给定的上下文映射 ID 关联

java - 如何设置 J2EE 应用程序 (ear) 以在 weblogic 11g 中使用共享 JSF 和 JSTL 库?

java - JAX-RPC 处理程序发生异常

java - 远程EJB的理解

java - 如何合并两个有序的对象列表?

java - 错误 : Failed to execute goal org. apache.maven.plugins :maven-deploy-plugin:2. 8.2 :deploy 405,

java - 用户三次错误尝试后显示验证码

java - 在 java 中保存和检索数据的快速、安全的方法

java - 什么是NullPointerException,我该如何解决?