有人可以建议如何使用给定的ip (1.10.11.14)
计算窗口远程计算机的总磁盘空间和可用磁盘空间,并使用java代码从我的本地计算机说明(username: test password : test)
窗口登录凭据。下面的java代码非常强大,可以计算我本地计算机的总磁盘空间和可用磁盘空间,但远程计算机会出现查询。
如何将以下代码更改为计算远程计算机中C:驱动器的磁盘空间 (1.10.11.14)
。另外,如何将空闲和已用磁盘存储值导入xls文件。
import java.io.File;
public class DiskSpacecalaculate
{
public static void main(String[] args)
{
File file = new File("c:");
long usableSpace = file.getUsableSpace(); ///unallocated / free disk space in bytes.
long freeSpace = file.getFreeSpace(); //unallocated / free disk space in bytes.
System.out.println(" === Partition Detail ===");
System.out.println("Total size : " + totalSpace + " 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 : " + freeSpace /1024 /1024 + " mb");
}
}
答案 0 :(得分:0)
要计算远程计算机上的磁盘大小,您需要连接到远程计算机(显然)。困难的问题是如何建立这种联系。至于任何问题,都有一些不同的解决方案:
如果可以(我不知道您是否可以)将远程文件夹作为共享文件夹安装在Windows计算机上。如果这样做,您可以通过将文件的路径更改为已安装的文件夹来使用我们的代码。但是这个解决方案可能是不合时宜的,而不是“Java"溶液
Windows缺乏像Linux和SSH这样的解决方案来连接到计算机。因此没有简单的方法来连接到Windows机器。有一些工具,如IBM的STAF(见here),可以解决这个问题。您可以在远程计算机和本地计算机上安装STAF,并可以通过它连接。但这是一个非常丑陋的解决方案,并且超级不安全。但对于一个测试系统来说可能就够了。
没有办法连接到Windows机器(如果我错了,请纠正我),像STAF这样的工具只是糟糕的解决方法。由于您还关注性能,我建议您只需将工具部署到Windows机器上,并在其上提供JSON-API。因此,您可以使用浏览器,转到机器并查看剩余的空间。
我知道这不是你想听的内容,但是当你尝试连接到Windows机器时,你将度过一段美好的时光......
答案 1 :(得分:0)
**更新** - 抱歉,从远程计算机上读取错误,自动跳转到远程共享结论...但是,您可以在每台计算机上共享C驱动器,并且只允许特殊帐户访问共享。否则,另一篇文章会提供您需要的各种建议。
您可以像使用java.io.File一样使用并定义路径。我不知道是否存在任何限制(我是从Windows主机运行此操作),但它有效。
import java.io.File;
public class RemoteShareSpace {
public static void main(String[] args) {
try{
// Works either way...
//File f = new File("\\\\myServer\\ShareDir1\\ShareDir2\\ShareDir3");
File f = new File("//myServer/ShareDir1/ShareDir2/ShareDir3");
long totalSpace = f.getTotalSpace();
long usableSpace = f.getUsableSpace(); // unallocated / free disk space in bytes.
long freeSpace = f.getFreeSpace(); // unallocated / free disk space in bytes.
boolean pathExists = f.exists();
// if path exists
if(pathExists)
{
System.out.println(" === Partition Detail ===");
System.out.println("Total Space: " + totalSpace);
System.out.println("Total size : " + totalSpace + " 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 : " + freeSpace /1024 /1024 + " mb");
}
}catch(Exception e){
e.printStackTrace();
}
}
}
输出:
C:\ Source> java RemoteShareSpace
===分区细节===
总空间:64315076608
总大小:64315076608字节
空间:22259978240字节
===兆字节===
总面积:61335 mb
无空间:21228 mb